Explorar a entrega contínua com o GitHub Actions
O GitHub Actions fornece o mecanismo para implementar fluxos de trabalho de entrega de software usando os recursos da plataforma GitHub. Essa seria a abordagem de CI/CD mais ideal para a organização em nosso cenário de exemplo, considerando seus planos de usar o GitHub para sua jornada de DevOps. Nesta unidade, você aprenderá a usar o GitHub Actions para criar e executar fluxos de trabalho de CI/CD.
O que são o GitHub Actions?
No contexto do GitHub, o termo ações realmente tem um significado duplo. O primeiro ( ações em maiúsculas) representa o serviço GitHub, que forneceu a capacidade de implementar fluxos de trabalho de CI/CD. A segunda (letra minúscula ações) designa unidades reutilizáveis que podem ser incluídas em fluxos de trabalho para fornecer uma funcionalidade específica, como executar scripts e executáveis, construir e carregar artefatos, ou configurar o acesso a uma assinatura do Azure.
Quais são os principais componentes do GitHub Actions?
Os principais componentes do GitHub Actions incluem:
- fluxo de trabalho: uma sequência de etapas armazenadas em um arquivo formatado por YAML. Os fluxos de trabalho executam as etapas uma vez que são acionados manualmente ou (com mais frequência) automaticamente por atividades do repositório, como pushes ou mesclagens de ramificações.
- trabalho: um elemento superior de um fluxo de trabalho. Trabalhos em um fluxo de trabalho podem ser executados em paralelo ou sequencialmente.
- etapa: um elemento superior dentro de um trabalho. Cada etapa é uma tarefa ou ação que executa uma atividade específica, como executar um script ou criar um artefato.
- ação: uma atividade pré-compilada ou personalizada (conforme mencionado anteriormente). O GitHub fornece um marketplace em que você pode encontrar uma ampla gama de ações predefinidas.
- variável: um valor nomeado que permite armazenar e reutilizar dados entre etapas em um fluxo de trabalho. Você pode criar suas próprias variáveis personalizadas ou usar qualquer uma das variáveis de ambiente padrão predefinidas definidas automaticamente em cada fluxo de trabalho.
- secreto: uma variável criptografada que pode ser usada para armazenar dados confidenciais.
Como criar um fluxo de trabalho do GitHub Actions?
Para criar um fluxo de trabalho do GitHub Actions, use as seguintes etapas:
- Crie um repositório. Para implementar o fluxo de trabalho do GitHub Actions, você precisará de uma conta do GitHub e de um repositório. Por padrão, um novo repositório inclui o branch padrão, normalmente denominado main.
- Crie um diretório .github/fluxos de trabalho. Os fluxos de trabalho do GitHub Actions devem residir no diretório .github/fluxos de trabalho na raiz do repositório.
- Crie um arquivo YAML. O fluxo de trabalho do GitHub Actions tem o formato YAML. Seu nome é arbitrário, mas espera-se que a extensão seja definida como .yml.
- Defina o fluxo de trabalho no arquivo YAML e salve as alterações. O arquivo YAML precisa incluir a definição de fluxo de trabalho.
- Confirmar o arquivo salvo no repositório. Para finalizar as alterações de fluxo de trabalho, você precisa executar a confirmação, como em qualquer arquivo que faça parte do repositório. Se você decidir criar um fluxo de trabalho em seu computador local (em vez de usar a interface da Web do GitHub), clonará o repositório depois de criá-lo, aplicará e confirmará as alterações localmente e, em seguida, as enviará por push para o GitHub.
Aqui está um exemplo simples de um fluxo de trabalho do GitHub Actions que exibe uma mensagem Hello do GitHub Actions! uma vez executada.
name: Simple GitHub Actions workflow
on: [push]
jobs:
say_hello:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Run Build Script
run: |
echo "Hello, GitHub Actions!"
A primeira linha do fluxo de trabalho define seu nome, que é exibido na guia Ações do repositório na interface web do GitHub. A linha on: [push] designa o evento, que dispara a execução do workflow (nesse caso, um push para qualquer ramo no repositório do workflow).
O fluxo de trabalho consiste em um único trabalho chamado say_hello, conforme indicado pelo conteúdo que segue a jobs: linha. A próxima linha (runs-on: ubuntu-latest) determina o tipo de sistema operacional que deve ser usado para executar o trabalho. A escolha depende das tarefas que o trabalho contém e, nesse caso, o trabalho seria executado também em qualquer sistema operacional baseado no Windows.
O trabalho consiste em duas etapas, conforme indicado pelo conteúdo após a linha de steps:. A sintaxe da etapa dá suporte a um atributo de nome opcional, o que pode ajudar a entender a finalidade da etapa ao revisar as execuções do fluxo de trabalho. O restante da sintaxe depende do tipo de ação que uma determinada etapa deve ser realizada. Neste exemplo, a primeira etapa é verificar o repositório atual (que baixa o conteúdo do repositório para o sistema em que o trabalho está sendo executado), enquanto o segundo executa o comando de eco , que exibe uma mensagem amigável.
Para integrar a funcionalidade de CI/CD aos fluxos de trabalho do GitHub Actions, você adicionaria uma série de etapas (em um ou mais trabalhos) que executam ações automatizadas de build, teste e implantação. Depois que a execução do fluxo de trabalho for disparada, você poderá acompanhar seu progresso navegando até a guia "Ações" no repositório GitHub.
Nota
Você terá a chance de trabalhar com exemplos mais significativos de fluxos de trabalho do GitHub Actions que ilustram a integração de CI/CD no laboratório deste módulo.