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.

Sobre ações

O GitHub Actions permite que você crie fluxos de trabalho de ciclo de vida de desenvolvimento de software personalizado (SDLC, Software Development Life Cycle) diretamente no seu repositório do GitHub.

GitHub Actions is available with GitHub Free, GitHub Pro, GitHub Team, and GitHub Enterprise Cloud. GitHub Actions is unavailable for per-repository plans, which are legacy billing plans. For more information, see "GitHub's products."

Neste artigo

Sobre ações

Você pode criar ações gravando códigos personalizados que interajam com o seu repositório da maneira que você quiser, inclusive fazendo integrações com as APIs do GitHub e qualquer API de terceiros disponível publicamente. Por exemplo, as ações podem publicar módulos npm, enviar alertas SMS quando problemas urgentes forem criados ou implantar códigos prontos para produção.

É possível gravar suas próprias ações para uso no fluxo de trabalho ou compartilhar as ações que você compilar com a comunidade do GitHub. Para compartilhar as ações que você compilou, seu repositório deve ser público.

As ações são executadas em um ambiente virtual ou contêiner Docker. É possível definir as entradas, saídas e variáveis do ambiente de uma ação.

Tipos de ação

Você pode compilar ações do contêiner Docker e JavaScript. As ações exigem um arquivo de metadados para a definição de entradas, saídas e ponto de entrada principal para sua ação. O nome do arquivo de metadados deve ser action.yml.

Tipo Ambiente virtual
Contêiner Docker Linux
JavaScript Linux, MacOS, Windows

Ações de contêiner Docker

Os contêineres Docker criam um pacote do ambiente com o código GitHub Actions. Esse procedimento cria uma unidade de trabalho mais consistente e confiável, pois o consumidor da ação não precisa se preocupar com ferramentas ou dependências. As ações de contêiner Docker só podem ser executadas no ambiente Linux com host para o GitHub.

Um contêiner Docker permite usar versões específicas de um sistema operacional, bem como as dependências, as ferramentas e o código. Para ações a serem executadas em uma configuração específica de ambiente, o Docker é a opção ideal porque permite personalizar o sistema operacional e as ferramentas. Por causa da latência para compilar e recuperar o contêiner, as ações de contêiner Docker são mais lentas que as ações JavaScripts.

Você deve incluir um arquivo de configuração do GitHub Actions para gerar metadados sobre a ação.

Ações JavaScript

As ações JavaScript podem ser executadas diretamente em qualquer uma das máquinas virtuais com host para o GitHub e separar o código de ação do ambiente usado para executar o código. Usar ações JavaScript simplifica o código da ação e é um processo mais rápido se comparado à opção do contêiner Docker.

As ações JavaScript exigem um arquivo de configuração do GitHub Actions para gerar metadados sobre a ação.

Definir o local da ação

Se você estiver desenvolvendo uma ação a ser usada por outras pessoas, recomendamos manter a ação no próprio repositório em vez de criar um pacote dela com outro código de aplicativo. Assim, você poderá controlar as versões e monitorar a ação como qualquer outro software.

Ao armazenar uma ação no seu próprio repositório, fica mais fácil para a comunidade do GitHub descobrir a ação. Além disso, você restringe o escopo da base de código para os desenvolvedores corrigirem problemas e desenvolverem a ação, bem como separa o controle de versões da ação e o controle de versões de outros códigos de aplicativo.

Se estiver criando uma ação que não pretende disponibilizar ao público, você poderá armazenar os arquivos da ação em qualquer local no seu repositório. Se você planeja combinar ação, fluxo de trabalho e aplicativo em um só repositório, recomendamos armazenar as ações no diretório .github. Por exemplo, .github/actions/action-a e .github/actions/action-b.

Controlar as versões da ação

Os fluxos de trabalho podem fazer referência a determinadas versões das ações usando um commit SHA, branch ou tag.

etapas:    
  - uses: actions/setup-node@74bc508 # Referência a um commit
  - uses: actions/setup-node@v1.0    # Referência à versão principal
  - uses: actions/setup-node@master  # Referência a um branch

Para proporcionar uma experiência estável, o GitHub recomenda usar o controle de versão semântico ao criar as ações. Para obter mais informações, consulte "Controle de versão semântico".

  1. Crie uma versão usando o controle de versão semântico (v1.0.9). Para obter mais informações, consulte "Criar versões".
  2. Mova a tag da versão principal (v1, v2 etc.) de modo a indicar o ref do Git da versão atual. Para obter mais informações, consulte "Fundamentos do Git - tags".
  3. Inclua uma nova tag de versão principal (v2) para as alterações relevantes que vão dividir os fluxos de trabalho atuais. Por exemplo, mudar as entradas de uma ação seria uma alteração relevante.

Criar um arquivo README para a ação

Se você planeja compartilhar sua ação publicamente, é recomendável criar um arquivo LEIAME para ajudar as pessoas a saberem como usar a ação. Você pode incluir as informações abaixo no seu LEIAME.md:

  • Descrição detalhada do que a ação faz;
  • Argumentos obrigatórios de entrada e saída;
  • Argumentos opcionais de entrada e saída;
  • Segredos usados pela ação;
  • Variáveis de ambiente usadas pela ação;
  • Um exemplo de uso da ação no fluxo de trabalho.

Comparing GitHub Actions to Aplicativos do GitHub

GitHub Marketplace offers tools to improve your workflow. Understanding the differences and the benefits of each tool will allow you to select the best tool for your job. For more information about building actions and apps, see "About GitHub Actions" and "About apps" in documentação do GitHub Developer.

Strengths of GitHub Actions and GitHub Apps

While both GitHub Actions and aplicativo GitHubs provide ways to build automation and workflow tools, they each have strengths that make them useful in different ways.

Aplicativos do GitHub:

  • Run persistently and can react to events quickly.
  • Work great when persistent data is needed.
  • Work best with API requests that aren't time consuming.
  • Run on a server or compute infrastructure that you provide.

GitHub Actions:

  • Provide automation that can perform continuous integration and continuous deployment.
  • Can run directly on a virtual machine or in Docker containers.
  • Can include access to a clone of your repository, enabling deployment and publishing tools, code formatters, and command line tools to access your code.
  • Don't require you to deploy code or serve an app.
  • Have a simple interface to create and use secrets, which enables actions to interact with third-party services without needing to store the credentials of the person using the action.

Leia mais

Pergunte a uma pessoa

Não consegue encontrar o que procura?

Entrar em contato