Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

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 "Variáveis".

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. Todas as ações e fluxos de trabalho chamados dentro de uma execução têm acesso de gravação aos artefatos daquela execução.

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@v3
        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@v3
        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".