Visão geral do exemplo
Este artigo usa um exemplo de fluxo de trabalho para demonstrar algumas das principais funcionalidades da CI de GitHub Actions. Quando esse fluxo de trabalho é acionado, ele executa automaticamente um script que verifica se o site Docs de GitHub tem algum link quebrado. Se algum link quebrado for encontrado, o fluxo de trabalho usará a CLI de GitHub para criar um problema de GitHub com os detalhes.
O diagrama a seguir mostra uma visão de alto nível das etapas do fluxo de trabalho e como elas são executadas dentro do trabalho:
Características utilizadas neste exemplo
O exemplo de fluxo de trabalho demonstra os seguintes recursps de GitHub Actions:
Funcionalidade | Implementação |
---|---|
Executando um fluxo de trabalho em intervalos regulares: | cronograma |
Definindo permissões para o token: | permissões |
Impedindo que um trabalho seja executado a menos que condições específicas sejam atendidas: | se |
Fazendo referência a segredos em um fluxo de trabalho: | Segredos |
Clonando o repositório para o executor: | actions/checkout |
Instalando o nó no executor: | actions/setup-node |
Usando uma ação de terceiros: | peter-evans/create-issue-from-file |
Exemplo de fluxo de trabalho
O fluxo de trabalho a seguir foi criado pela equipe de Engenharia de GitHub Para revisar a versão mais recente deste arquivo no repositório github/docs
, consulte check-all-english-links.yml
.
Observação: Cada linha deste fluxo de trabalho é explicada na próxima seção em "Compreendendo o exemplo".
|
Entendendo o exemplo
A tabela a seguir explica como cada um desses recursos são usados ao criar um fluxo de trabalho de GitHub Actions.
Código | Explicação |
---|---|
|
O nome do fluxo de trabalho como ele aparecerá na aba "Ações" do repositório de GitHub. |
|
Defines the
|
|
Modifica as permissões padrão concedidas a "GITHUB_TOKEN". Isso vai variar dependendo das necessidades do seu fluxo de trabalho. Para obter mais informações, consulte "Atribuindo permissões a trabalhos." |
|
Agrupa todos os trabalhos executados no arquivo do fluxo de trabalho. |
|
Define um trabalho com o ID "check_all_english_links", e o nome 'Verificar todos os links', que é armazenado na chave "trabalhos". |
|
Só execute o trabalho de "checkall_english_links" se o repositório for denominado "docs-internal" e estiver dentro da organização "github". Caso contrário, o trabalho é marcado como _skipped. |
|
Configura o trabalho a ser executado em um executor do Ubuntu Linux. Isso significa que o trabalho será executado em uma nova máquina virtual hospedada por GitHub. Para obter exemplos de sintaxe usando outros executores, consulte "Sintaxe de fluxo de trabalho para GitHub Actions." |
|
Cria variáveis de ambiente personalizadas e redefine a variável "GITHUB_TOKEN" incorporada para usar um secret personalizado. Essas variáveis serão referenciadas posteriormente no fluxo de trabalho. |
|
Agrupa todos os passos que serão executados como parte do trabalho "check_all_english_links". Cada trabalho no fluxo de trabalho tem sua própria seção de "etapas". |
|
A palavra-chave "uses" diz para o trabalho recuperar a ação denominada "actions/checkout". Esta é uma ação que verifica seu repositório e o faz o download do runner, permitindo que você execute ações contra seu código (como, por exemplo, ferramentas de teste). Você deve usar a ação de checkout sempre que o fluxo de trabalho for executado no código do repositório ou você estiver usando uma ação definida no repositório. |
|
Esta etapa usa a ação |
|
A palavra-chave |
|
Este comando "executar" executa um script armazenado no repositório em "script/check-english-links.js" e canalizado a saída para um arquivo denominado 'broken_links.md'. |
|
Se o script "check-english-links.js" detectar links quebrados e retornar um status de saída não zero (falha) e, em seguida, usar um comando de fluxo de trabalho para definir uma saída que tenha o valor da primeira linha do arquivo 'broken_links.md' (este será usado na próxima etapa). |
|
Usa a ação "peter-evans/create-issue-from-file" para criar um novo problema de GitHub. Este exemplo é fixado em uma versão específica da ação, usando o SHA de "b4f9ee0a9d4abbfc6986601d9b1a4f8f8e74c77e". |
|
Usa
|
|
Se um problema de uma execução anterior estiver aberto e atribuído a alguém, use |
|
Se um problema de uma execução anterior estiver aberto e não for atribuído a ninguém, então:
|
Próximas etapas
- Para aprender sobre os conceitos de GitHub Actions, consulte "Entendendo o GitHub Actions."
- Para mais guias passo a passo para criar um fluxo de trabalho básico, consulte "Início rápido para o GitHub Actions".
- Se você estiver confortável com os princípios básicos de GitHub Actions, você pode aprender sobre fluxos de trabalho e suas características em "Sobre fluxos de trabalho. "