Folha de dicas do GitHub Actions

12 de março de 2020 // 4 min read

image

Tudo o que você precisa saber sobre como começar a usar o GitHub Actions

O GitHub Actions ajuda na automação dos fluxos de trabalho de desenvolvimento de software no mesmo local de armazenamento e colaboração no código. Ações individuais são trechos reutilizáveis de código ​​que permitem criar, testar, empacotar ou implantar projetos no GitHub. Contudo, você também pode usá-las para automatizar qualquer etapa do fluxo de trabalho.

Como iniciar em quatro etapas simples

  1. Clique na guia “Actions” no seu repositório
    O GitHub Actions está totalmente integrado ao seu código e ao restante das experiências no GitHub.
  2. Escolha o fluxo de trabalho mais adequado ao seu tipo de projeto
    O GitHub Actions oferece templates de workflow úteis para dar os primeiros passos, incluindo templates para Node.js, Rust, .NET Core e muito mais.
  3. Personalize seu fluxo de trabalho
    Você pode começar com os templates de workflow que fornecemos e personalizá-los de acordo com os requisitos exatos do seu projeto.
  4. Após escolher o fluxo de trabalho, pressione o botão “start commit”
    A configuração do fluxo de trabalho reside no seu repositório, portanto, a definição de compilação é versionada com o código finalizado.

Guia do GitHub Actions: https://help.github.com/en/actions
Perguntas e respostas sobre o GitHub Actions: github.community

Termos úteis para conhecer

Ação
Um programa que se torna um componente reutilizável para uso em fluxos de trabalho. As ações podem instalar um software para o ambiente, configurar a autenticação ou automatizar conjuntos complexos de tarefas. Você pode encontrar as ações no GitHub Marketplace ou criar as suas próprias e compartilhá-las com a comunidade.

Fluxo de trabalho
Um processo configurável e automatizado que você pode usar no repositório para criar, testar, empacotar, lançar ou implantar seu projeto. Os fluxos de trabalho são compostos por um ou mais “trabalhos” e podem ser acionados por eventos do GitHub.

Integração contínua (CI)
A prática de desenvolvimento de software de fazer commit frequente de pequenas alterações de código em um repositório compartilhado. Com o GitHub Actions, você pode criar fluxos de trabalho de CI personalizados que criam e testam seu código automaticamente. No seu repositório, você pode visualizar o status das alterações do código e os logs detalhados de cada ação no fluxo de trabalho. A CI economiza tempo dos desenvolvedores, fornecendo feedback imediato sobre alterações no código para detectar e resolver bugs com mais rapidez.

YAML
YAML significa “Yet Another Markup Language” (mais uma linguagem de marcação). É uma linguagem de marcação legível para humanos, comumente usada para arquivos de configuração, principalmente por ferramentas de software focadas em CI e DevOps. O GitHub Actions usa YAML como base para seus fluxos de trabalho de configuração.

Arquivo de fluxo de trabalho
O arquivo de configuração que define seu fluxo de trabalho do GitHub Actions. Ele é escrito em YAML e fica dentro do seu repositório do GitHub em .github/workflows. Cada arquivo nesse diretório nomeado com uma extensão .yaml define um fluxo de trabalho exclusivo.

Exemplo de arquivo de fluxo de trabalho

name: CI for Node.js Project
on:
 push:
 branches: [ master ]
 pull_request:
 branches: [ master ]
jobs:
 build:
 runs-on: ubuntu-latest
 name: Build and Test
 steps:
 - uses: actions/checkout@v2
 name: Check out repository
 - uses: actions/setup-node@v1
 name: Set up Node.js
 with:
 node-version: 12
 - run: |
 npm ci
 npm run build
 npm test
 name: Build and Test

Uma explicação desse exemplo de fluxo de trabalho:

name
O nome do seu fluxo de trabalho será exibido na página de ações do repositório.

on
Os eventos que ocorrem no GitHub e fazem com que o fluxo de trabalho seja executado. Por exemplo, você pode executar seu fluxo de trabalho nos acionadores push e pull_request, o que permitirá compilar seu código e executar testes em um fluxo de trabalho de Integração contínua. Você pode adicionar outras restrições a esses acionadores, como executar quando determinados arquivos são alterados ou quando efetua-se push de um determinado branch.

jobs
Uma lista dos trabalhos executados como parte do fluxo de trabalho. Cada trabalho é executado de forma independente dos outros e em um ambiente virtual diferente. Os trabalhos podem ter um name para torná-los facilmente identificáveis ​​na interface do usuário ou nos logs. Os trabalhos contêm um conjunto de steps que são executadas em ordem. Esse fluxo de trabalho tem um único trabalho: build.

jobs.<job-id>.runs-on
O tipo de executor a ser usado na execução do trabalho especificado, seja um executor fornecido pelo GitHub, seja um executor auto-hospedado configurado por você. O GitHub fornece três tipos principais de executores: Linux (denominado ubuntu-latest), Windows (denominado windows-latest) e macOS (denominado macos-latest).

jobs.<job-id>.steps
Uma lista das etapas que são executadas como parte do trabalho. Cada etapa é executada uma após a outra, todas no mesmo ambiente virtual. Por padrão, se alguma etapa falhar, todo o trabalho será interrompido. Nesse fluxo de trabalho, o trabalho build contém três etapas:

  1. A primeira etapa usa uma ação denominada actions/checkout@v2. Essa ação é fornecida pelo GitHub e faz o checkout do repositório no executor para que ele possa ser criado e testado.
  2. A segunda etapa usa uma ação denominada actions/setup-node@v1. Essa ação é fornecida pelo GitHub e configura uma versão específica do Node.js no executor. Argumentos podem ser fornecidos à ação na seção with; nesse exemplo, o argumento node-version está definido como 12, o que instrui a ação a colocar o Node.js versão 12 no PATH para etapas subsequentes.
  3. A etapa final executa programas na linha de comando. Por padrão, esses programas serão executados com bash (no Linux e macOS) ou PowerShell (no Windows). Um único comando pode ser especificado ou vários comandos podem ser especificados iniciando-os com um símbolo de barra vertical (|).

    Nesse caso, uma compilação de integração contínua do Node.js é feita executando npm ci para baixar e instalar pacotes do registro npm. Em seguida, é executada a compilação npm run para executar o script de compilação especificado no projeto. Por fim, é executado npm test para executar quaisquer testes unitários no projeto.

Tags

Quer saber como o GitHub pode ajudar sua empresa?

Fale mais sobre suas necessidades

octocaptcha spinner