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