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.
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 |
---|---|
Acionando um fluxo de trabalho para funcionar automaticamente: | push |
Acionando um fluxo de trabalho para funcionar automaticamente: | pull_request |
Executando manualmente um fluxo de trabalho a partir da interface do usuário: | workflow_dispatch |
Definindo permissões para o token: | permissões |
Controlando quantas execuções de fluxo de trabalho ou trabalhos podem ser executados ao mesmo tempo: | concorrência |
Executando o trabalho em diferentes corredores, dependendo do repositório: | runs-on |
Clonando o repositório para o executor: | actions/checkout |
Instalando o nó no executor: | actions/setup-node |
Usando a ação de terceiros: | trilom/file-changes-action |
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 link-check-all.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. |
|
A palavra-chave 'on' permite definir os eventos que acionam quando o fluxo de trabalho é executado. Você pode definir vários eventos aqui. Para obter mais informações, consulte "Acionando um fluxo de trabalho." |
|
Adicione o evento "workflow_dispatch" se você quiser poder executar manualmente este fluxo de trabalho a partir da interface do usuário. Para obter mais informações, consulte |
|
Adicione o evento "push", para que o fluxo de trabalho seja executado automaticamente toda vez que um commit for enviado por push para uma branch denominado "main". Para obter mais informações, consulte 'push'. |
|
Adicione o evento "pull_request", para que o fluxo de trabalho seja executado automaticamente toda vez que um pull request for criado ou atualizado. Para obter mais informações, consulte 'pull_request'. |
|
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." |
|
Cria um grupo de concorrência para eventos específicos e usa o operador "||" para definir valores de recuo. Para obter mais informações, consulte "Usando concorrência." |
|
Cancela qualquer trabalho ou fluxo de trabalho em execução no mesmo grupo de concorrência. |
|
Agrupa todos os trabalhos executados no arquivo do fluxo de trabalho. |
|
Define uma trabalho com o ID "check-links" que é armazenado dentro da chave "jobs". |
|
Configura o trabalho a ser executado em um executor hospedado em GitHub ou em um executor auto-hospedado, dependendo do repositório que executa o fluxo de trabalho. Neste exemplo, o trabalho será executado em um runner auto-hospedado se o repositório for denominado "docs-internal" e estiver dentro da organização "github". Se o repositório não corresponder a este caminho, então ele será executado em um executor "ubuntu-latest" hospedado por GitHub. Para obter mais informações sobre essas opções consulte "Escolhendo o executor para um trabalho". |
|
Agrupa todos as etapas que serão executados como parte do trabalho |
|
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 |
|
Usa a ação |
|
Lista o conteúdo de |
|
Esta etapa usa o comando 'executar' para executar um script armazenado no repositório em 'script/rendered-content-link-checker.mjs' e passa todos os parâmetros necessários para executar. |
|
Esta etapa também usa o comando |
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. "