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

Actions are individual tasks that you can combine to create jobs and customize your workflow. You can create your own actions, and use and customize actions shared by the GitHub community.

GitHub Actions is available with GitHub Free, GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub One. GitHub Actions is not available for private repositories owned by accounts using legacy per-repository 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.

Actions can run directly on a machine or in a Docker container. É 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. The metadata filename must be either action.yml or action.yaml. Para obter mais informações, consulte "Sintaxe de metadados para o GitHub Actions".

TipoSistema operacional
Contêiner DockerLinux
JavaScriptLinux, 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.

Self-hosted runners must use a Linux operating system and have Docker installed to run Docker container actions. For more information about the requirements of self-hosted runners, see "About self-hosted runners."

Ações JavaScript

JavaScript actions can run directly on a runner machine, and separate the action code from the environment used to run the code. 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.

To ensure your JavaScript actions are compatible with all GitHub-hosted runners (Ubuntu, Windows, and macOS), the packaged JavaScript code you write should be pure JavaScript and not rely on other binaries. JavaScript actions run directly on the runner and use binaries that already exist in the virtual environment.

Self-hosted runners must have Node.js installed to run JavaScript actions. For more information about the requirements of self-hosted runners, see "About self-hosted runners."

If you're developing a Node.js project, the GitHub Actions Toolkit provides packages that you can use in your project to speed up development. Para obter mais informações, consulte o repositório ações/conjuntos de ferramentas.

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 runner machines 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