Skip to main content

Recursos essenciais do GitHub Actions

GitHub Actions foram projetados para ajudar você a construir automações robustas e dinâmicas. Este guia irá mostrar como criar fluxos de trabalho de GitHub Actions que incluem variáveis de ambiente, scripts personalizados e muito mais.

Observação: no momento, não há suporte para os executores hospedados no GitHub no GitHub Enterprise Server. Você pode ver mais informações sobre o suporte futuro planejado no GitHub public roadmap.

Visão geral

GitHub Actions permite que você personalize seus fluxos de trabalho para atender às necessidades únicas de seu aplicativo e equipe. Neste guia, discutiremos algumas das técnicas de personalização essenciais, como o uso de variáveis, a execução de scripts e o compartilhamento de dados e artefatos entre trabalhos.

Usar variáveis em seus fluxos de trabalho

GitHub Actions incluem variáveis de ambiente-padrão para cada execução de fluxo de trabalho. Se precisar usar variáveis de ambiente personalizadas, você pode defini-las no seu arquivo de fluxo de trabalho YAML. Este exemplo demonstra como criar variáveis personalizadas chamadas POSTGRES_HOST e POSTGRES_PORT. Em seguida, essas variáveis estão disponíveis para o script node client.js.

jobs:
  example-job:
      steps:
        - name: Connect to PostgreSQL
          run: node client.js
          env:
            POSTGRES_HOST: postgres
            POSTGRES_PORT: 5432

Para obter mais informações, confira "Como usar variáveis de ambiente".

Adicionar scripts ao seu fluxo de trabalho

Você pode usar ações para executar scripts e comandos de shell, que são executados no executor atribuído. Este exemplo demonstra como uma ação pode usar a palavra-chave run para executar npm install -g bats no executor.

jobs:
  example-job:
    steps:
      - run: npm install -g bats

Por exemplo, para executar um script como uma ação, você pode armazenar o script no repositório e fornecer o tipo do caminho e do shell.

jobs:
  example-job:
    steps:
      - name: Run build script
        run: ./.github/scripts/build.sh
        shell: bash

Para obter mais informações, confira "Sintaxe de fluxo de trabalho do GitHub Actions".

Compartilhar dados entre trabalhos

Se o seu trabalho gerar arquivos que você deseja compartilhar com outro trabalho no mesmo fluxo de trabalho ou se você quiser salvar os arquivos para referência posterior, armazene-os no GitHub como artefatos. Artefatos são os arquivos que surgem quando você compila e testa seu código. Por exemplo, os artefatos podem incluir arquivos binários ou de pacotes, resultados de testes, capturas de tela ou arquivos de log. Os artefatos estão associados à execução do fluxo de trabalho em que foram criados e podem ser usados por outro trabalho. All actions and workflows called within a run have write access to that run's artifacts.

Por exemplo, você pode criar um arquivo e, em seguida, carregá-lo como um artefato.

jobs:
  example-job:
    name: Save output
    steps:
      - shell: bash
        run: |
          expr 1 + 1 > output.log
      - name: Upload output file
        uses: actions/upload-artifact@v2
        with:
          name: output-log-file
          path: output.log

Para baixar um artefato de uma execução de fluxo de trabalho separada, use a ação actions/download-artifact. Por exemplo, você pode baixar o artefato chamado output-log-file.

jobs:
  example-job:
    steps:
      - name: Download a single artifact
        uses: actions/download-artifact@v2
        with:
          name: output-log-file

Para baixar um artefato da mesma execução de fluxo de trabalho, o trabalho de download deve especificar needs: upload-job-name para que ele não seja iniciado até que o trabalho de upload seja concluído.

Para obter mais informações sobre artefatos, confira "Como persistir dados de fluxo de trabalho usando artefatos".

Próximas etapas

Para continuar aprendendo sobre o GitHub Actions, confira "Eventos que disparam fluxos de trabalho".