Publicamos atualizações frequentes em nossa documentação, e a tradução desta página ainda pode estar em andamento. Para obter as informações mais recentes, acesse a documentação em inglês. Se houver problemas com a tradução desta página, entre em contato conosco.

Introdução ao GitHub Actions

Aprenda sobre os conceitos principais e vários componentes de GitHub Actions e veja um exemplo que mostre como adicionar automação ao seu repositório.

Neste artigo

Esse documento ajudou você?

Ajude-nos a tornar esses documentos ótimos!

Todos os documentos do GitHub são de código aberto. Você percebeu que algo que está errado ou não está claro? Envie um pull request.

Faça uma contribuição

Ou, aprenda como contribuir.

Visão Geral

GitHub Actions ajuda você a automatizar tarefas dentro de seu ciclo de vida de desenvolvimento de software. GitHub Actions são orientados por eventos, o que significa que você pode executar uma série de comandos após um evento especificado ocorrer. Por exemplo, cada vez que alguém cria um pull request para um repositório, você pode executar automaticamente um comando que executa um script de teste do software.

Este diagrama demonstra como você pode usar GitHub Actions para executar automaticamente seus scripts de teste de software. Um evento aciona automaticamente o fluxo de trabalho, que contém um trabalho. Em seguida, o trabalho usa etapas para controlar a ordem em que as ações são executadas. Estas ações são os comandos que automatizam o teste do seu software.

Visão geral do fluxo de trabalho

Componentes de GitHub Actions

Abaixo está uma lista dos múltiplos componentes de GitHub Actions que trabalham em conjunto para executar os trabalhos. Você pode ver como esses componentes interagem uns com os outros.

Visão geral do componente e do serviço

Fluxos de trabalho

O fluxo de trabalho é um procedimento automatizado que você adiciona ao seu repositório. Os fluxos de trabalho são constituídos por um ou mais trabalhos e podem ser programados ou ativados por um evento. O fluxo de trabalho pode ser usado para criar, testar, empacotar, publicar ou implantar um projeto em GitHub.

Eventos

Um evento é uma atividade específica que aciona um fluxo de trabalho. Por exemplo, uma atividade pode originar de GitHub quando alguém faz o push de um commit em um repositório ou quando são criados um problema ou um pull request. Também é possível usar o webhook de envio de repositório para acionar um fluxo de trabalho quando ocorrer um evento externo. Para obter uma lista completa de eventos que podem ser usados para acionar fluxos de trabalho, consulte Eventos que acionam fluxos de trabalho.

Trabalhos

Um trabalho é um conjunto de etapas executadas no mesmo executor. Por padrão, um fluxo de trabalho com vários trabalhos executará esses trabalhos em paralelo. Também é possível configurar um fluxo de trabalho para executar trabalhos sequencialmente. Por exemplo, um fluxo de trabalho pode ter dois trabalhos sequenciais que criam e testam códigos. em que o trabalho de teste depende do status do trabalho de criação. Se ocorrer uma falha no trabalho de criação, o trabalho de teste não será executado.

Etapas

Uma etapa é uma tarefa individual que pode executar comandos (conhecidos como ações). Cada etapa de um trabalho é executada no mesmo executor, permitindo que as ações naquele trabalho compartilhem dados entre si.

Ações

Ações são comandos autônomos combinados em etapas para criar um trabalho. As ações são o menor bloco de criação portátil de um fluxo de trabalho. Você pode criar as suas próprias ações ou usar ações criadas pela comunidade de GitHub. Para usar uma ação em um fluxo de trabalho, você deverá incluí-la como uma etapa.

Executores

Um executor é um servidor com a aplicação de executor de GitHub Actions instalada. Você pode usar um executor hospedado em GitHub ou você pode hospedar seu próprio. Um executor escuta trabalhos disponíveis, executa um trabalho de cada vez e relata o progresso, os registros e os resultados de volta para GitHub. Para executores hospedados em GitHub, cada trabalho em um fluxo de trabalho é executado em um novo ambiente virtual.

Os executores hospedados em GitHubrunners são baseados no Ubuntu Linux, Microsoft Windows e macOS. Para informações sobre executores hospedados em GitHub, consulte "Ambientes virtuais para executores hospedados em GitHub-". Se você precisar de um sistema operacional diferente ou precisar de uma configuração de hardware específica, você poderá hospedar seus próprios executores. Para obter informações sobre executores auto-hospedados, consulte "Hospedar seus próprios executores".

Criar um exemplo de fluxo de trabalho

GitHub Actions usa sintaxe de YAML para definir os eventos, trabalhos e etapas. Esses arquivos de YAML são armazenados no seu repositório de código em um diretório denominado .github/workflows.

Você pode criar um exemplo de fluxo de trabalho no repositório que aciona automaticamente uma série de comandos sempre que o código for carregado. Neste fluxo de trabalho, GitHub Actions verifica o código enviado, instala as dependências do software e executa bats -v.

  1. No seu repositório, crie o diretório .github/workflows/ para armazenar seus arquivos do fluxo de trabalho.
  2. No diretório .github/workflows/, crie um novo arquivo denominado learn-github-actions.yml e adicione o código a seguir.
    name: learn-github-actions
    on: [push]
    jobs:
      check-bats-version:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v2
          - uses: actions/setup-node@v1
          - run: npm install -g bats
          - run: bats -v
    
  3. Faça commit dessas alterações e faça push para o seu repositório do GitHub.

Seu novo arquivo de fluxo de trabalho de GitHub Actions agora está instalado no seu repositório e será executado automaticamente toda vez que alguém fizer push de uma alteração no repositório. Para obter detalhes sobre o histórico de execução de um trabalho, consulte "Visualizar a atividade do fluxo de trabalho".

Entender o arquivo de fluxo de trabalho

Para ajudar você a entender como a sintaxe de YAML é usada para criar um arquivo de fluxo de trabalho, esta seção explica cada linha do exemplo Introdução:

name: learn-github-actions
Opcional - Como o nome do fluxo de trabalho irá aparecer na aba Ações do repositório de GitHub.
on: [push]
Especifica o evento que aciona automaticamente o arquivo do fluxo de trabalho. Este exemplo usa o evento push para que os trabalhos sejam executados toda vez que alguém fizer uma alteração no repositório. É possível definir o fluxo de trabalho para ser executado somente em determinados branches, caminhos ou tags. Para obter exemplos de sintaxe, incluindo ou excluindo branches, caminhos ou tags, consulte "Sintaxe de fluxo de trabalho para GitHub Actions"
jobs:
Agrupa todos os trabalhos executados no arquivo de fluxo de trabalho learn-github-actions.
check-bats-version:
Define o nome do trabalho check-bats-version armazenado na seção trabalhos.
  runs-on: ubuntu-latest
Configura o trabalho a ser executado em um executor do Ubuntu Linux. Isto significa que o trabalho será executado em uma nova máquina virtual hospedada pelo GitHub. Para obter exemplos de sintaxe usando outros executores, consulte "Sintaxe de fluxo de trabalho para GitHub Actions."
  steps:
Agrupa todos os passos são executados no trabalho check-bats-version. Cada linha aninhada nesta seção é uma ação separada.
    - uses: actions/checkout@v2
A palavra-chave usa diz ao trabalho para recuperar v2 da ação da comunidade com o nome actions/checkout@v2. 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.
    - uses: actions/setup-node@v1
Esta ação instala o pacote do software no executor, dando acesso ao comando npm.
    - run: npm install -g bats
A palavra-chave executar diz ao trabalho para executar um comando no executor. Neste caso, você está usando o npm para instalar o pacote de teste do software bats.
    - run: bats -v
Por fim, você executará o comando bats com um parâmetro que produz a versão do software.

Visualizar o arquivo de fluxo de trabalho

Neste diagrama, você pode ver o arquivo de fluxo de trabalho que acabou de criar e como os componentes de GitHub Actions estão organizados em uma hierarquia. Cada etapa executa uma única ação. As etapas 1 e 2 usam ações de comunidade pré-criadas. Para encontrar mais ações pré-criadas para seus fluxos de trabalho, consulte "Encontrar e personalizar ações".

Visão geral do fluxo de trabalho

Visualizar a atividade do trabalho

Assim que seu trabalho começar a funcionar, você pode ver as atividades de cada etapa em GitHub.

  1. No GitHub, navegue até a página principal do repositório.

  2. No nome do seu repositório, clique em Ações.

    Acesse o repositório

  3. Na barra lateral esquerda, clique no fluxo de trabalho que deseja ver.

    Captura de tela dos resultados do fluxo de trabalho

  4. Em "Execuções do fluxo de trabalho", clique no nome da execução que você deseja ver.

    Captura de tela das execuções do fluxo de trabalho

  5. Clique no nome do trabalho para ver os resultados de cada etapa.

    Captura de tela dos detalhes de execução do fluxo de trabalho

Próximas etapas

Para continuar aprendendo sobre GitHub Actions, consulte "Encontrar e personalizar ações".

Entrar em contato com o suporte

Se precisar de ajuda com algo relacionado com a configuração do fluxo de trabalho, como sintaxe, executores hospedados no GitHub, ou ações de criação, procure por um tópico existente ou comece um novo na placa de Suporte à Comunidade GitHub GitHub Actions .

Se você tiver comentários ou solicitações de recursos para GitHub Actions, compartilhe-os na Formulário de feedback do GitHub Actions.

Contatar Suporte no GitHub ou Suporte do GitHub Premium para qualquer uma das seguintes opções, se o uso ou uso pretendido se enquadra nas categorias limite:

  • Se você acredita que sua conta foi restrita incorretamente
  • Se você encontrar um erro inesperado ao executar uma de suas Ações, por exemplo: um ID exclusivo
  • Se você encontrar uma situação onde o comportamento existente contradiz o esperado, mas nem sempre documentado, comportamento

Esse documento ajudou você?

Ajude-nos a tornar esses documentos ótimos!

Todos os documentos do GitHub são de código aberto. Você percebeu que algo que está errado ou não está claro? Envie um pull request.

Faça uma contribuição

Ou, aprenda como contribuir.