Você pode usar o recurso Monitoramento de Alterações do New Relic em conjunto com GitHub Actions para monitor o efeito das alterações em seus clientes e sistemas. Com GitHub Actions, você pode designar quais alterações monitor e, em seguida, observar os resultados na interface do New Relic. Isso permite que você rastreie as alterações feitas em seu ambiente durante o pipeline de lançamento.
Entradas
Aqui estão os elementos de entrada:
Chave | Obrigatório | Padrão | Descrição |
---|---|---|---|
| sim | n/a | O GUID da entidade para aplicar o marcador de alteração |
| sim | n/a | Sua chave de API pessoalNew Relic |
| não | n/a | Um resumo do que aconteceu nessa mudança que está visível na página Change tracking |
| não | n/a | O Commit SHA para esta alteração que está visível na página Change tracking |
| não | n/a | Uma descrição resumida dessa alteração, visível na página Overview e na página Change tracking quando você seleciona uma alteração individual |
| não | n/a | Um link direto para a fonte que desencadeou a mudança |
| não |
| O tipo de implantação. Além do padrão |
| não | n/a | Um ID de grupo para a alteração vincular a outras alterações |
| não |
| A região da sua conta New Relic |
| sim | n/a | Metadados a serem aplicados ao marcador de mudança, como a tag de lançamento mais recente |
| sim |
| Um nome de usuário para associar à alteração que está visível nas páginas Overview e Deployments |
Exemplo de uso
Segredos do GitHub
Certifique-se de que os seguintes segredos do Github estejam definidos:
NEW_RELIC_API_KEY
- Chave pessoal de APINEW_RELIC_DEPLOYMENT_ENTITY_GUID
- New Relic Entity GUID para criar o marcador
Verifique a página do marcador de implantação do aplicativo New Relic e clique no botão Use latest version para certificar-se de usar a versão mais recente disponível.
Há diversas variáveis de ambiente padrão do GitHub que também são usadas nesses exemplos.
Campos mínimos obrigatórios
name: Change Tracking Markeron: release: types: [published]
jobs: newrelic: runs-on: ubuntu-latest name: New Relic steps: # This step builds a var with the release tag value to use later - name: Set Release Version from Tag run: echo "RELEASE_VERSION=${{ github.ref_name }}" >> $GITHUB_ENV # This step creates a new Change Tracking Marker - name: New Relic Application Deployment Marker uses: newrelic/deployment-marker-action@v2.3.0 with: apiKey: ${{ secrets.NEW_RELIC_API_KEY }} guid: ${{ secrets.NEW_RELIC_DEPLOYMENT_ENTITY_GUID }} version: "${{ env.RELEASE_VERSION }}" user: "${{ github.actor }}"
Todos os campos de entrada
Além de
NEW_RELIC_API_KEY
, este exemplo mostra como destinar vários itens armazenando vários segredos como "NEW_RELIC_DEPLOYMENT_ENTITY_GUID_<ID>
", onde<ID>
é o identificador exclusivo do item de destino.
NEW_RELIC_DEPLOYMENT_ENTITY_GUID_App123NEW_RELIC_DEPLOYMENT_ENTITY_GUID_App456NEW_RELIC_DEPLOYMENT_ENTITY_GUID_App789
name: Change Tracking Markeron: workflow_dispatch: release: types: [published]
jobs: newrelic: runs-on: ubuntu-latest name: New Relic steps: # This step builds a var with the release tag value to use later - name: Set Release Version from Tag run: echo "RELEASE_VERSION=${{ github.ref_name }}" >> $GITHUB_ENV # This step creates a new Change Tracking Marker for App123 - name: App123 Marker uses: newrelic/deployment-marker-action@v2.3.0 with: apiKey: ${{ secrets.NEW_RELIC_API_KEY }} guid: ${{ secrets.NEW_RELIC_DEPLOYMENT_ENTITY_GUID_App123 }} version: "${{ env.RELEASE_VERSION }}" changelog: "https://github.com/${{ github.repository }}/blob/master/CHANGELOG.md" commit: "${{ github.sha }}" description: "Automated Release via Github Actions" deploymentType: "ROLLING" groupId: "Workshop App Release: ${{ github.ref_name }}" user: "${{ github.actor }}" # This step creates a new Change Tracking Marker for App456 - name: App456 Marker uses: newrelic/deployment-marker-action@v2.3.0 with: apiKey: ${{ secrets.NEW_RELIC_API_KEY }} guid: ${{ secrets.NEW_RELIC_DEPLOYMENT_ENTITY_GUID_App456 }} version: "${{ env.RELEASE_VERSION }}" changelog: "https://github.com/${{ github.repository }}/blob/master/CHANGELOG.md" commit: "${{ github.sha }}" description: "Automated Release via Github Actions" deploymentType: "ROLLING" groupId: "Workshop App Release: ${{ github.ref_name }}" user: "${{ github.actor }}" # This step creates a new Change Tracking Marker for App789 - name: App789 Marker uses: newrelic/deployment-marker-action@v2.3.0 with: apiKey: ${{ secrets.NEW_RELIC_API_KEY }} guid: ${{ secrets.NEW_RELIC_DEPLOYMENT_ENTITY_GUID_App789 }} version: "${{ env.RELEASE_VERSION }}" changelog: "https://github.com/${{ github.repository }}/blob/master/CHANGELOG.md" commit: "${{ github.sha }}" description: "Automated Release via Github Actions" deploymentType: "ROLLING" groupId: "Workshop App Release: ${{ github.ref_name }}" user: "${{ github.actor }}"
Qual é o próximo
Depois de designar as alterações que deseja rastrear, você pode analisar o efeito dessas alterações na interface do New Relic. Para obter detalhes, consulte Como visualizar e analisar suas alterações no New Relic.