GitHub Actions: automatizando o
build/deployment de seus projetos
Renato Groffe
Vinicius Moura
GitHub
GitHub é um sistema de gerenciamento de projetos e versões de
códigos assim como uma plataforma de rede social criado para
desenvolvedores. Mas para que o GitHub é utilizado? Entre outras
coisas, ele permite que você trabalhe em projetos colaborativos com
desenvolvedores de todo o mundo, planeje seus projetos e acompanhe
o trabalho.
GitHub Actions
O GitHub Actions permite que você crie workflows personalizados de
ciclo de vida de desenvolvimento de software diretamente no seu
repositório do GitHub.
Com o GitHub Actions, você pode criar estratégias de Integração
Contínua (CI, Continuous Integration) e Implantação Contínua (CD,
Continuous Deployment) diretamente no seu repositório GitHub.
GitHub Actions
• Disponibilidade
• GH Free, GH Pro, GH Free for Organizations, GH Team, GH
Enterprise & GH One
• Suporte
• Windows
• Linux
• MacOS
GitHub Actions
• Precificação
GitHub Actions
• Precificação
• Os minutos são reiniciados todos os meses, mas o uso do armazenamento não.
GitHub Actions
• GitHub-Hosted Runner (Agentes Hosted)
Agentes Windows, Linux e MacOS, hospedados pelo GitHub. Os
agentes hospedados pelo GitHub já vem pré-definidos com
softwares pré instalados para utilização. Você não precisa se
preocupar em manter o agente, pois o GitHub se encarrega de
efetuar todas as atualizações e manutenções dos mesmos.
GitHub Actions
• Self-Hosted Runner (Agentes Privados)
Uma máquina que você gerencia e mantém o agente auto hospedado instalado.
Agentes Self-Hosted oferecem mais controle de hardware, sistema operacional e
ferramentas de software do que os Agentes Hosted do GitHub. Com Agentes
Privados, você pode optar por criar uma configuração de hardware
personalizado com mais poder de processamento ou memória para executar
tarefas maiores, software de instalação disponível na sua rede local e escolher
um sistema operacional não oferecido por Agentes Hosted do GitHub.
GitHub Actions
• Workflow
Um processo automatizado configurável que você pode definir no seu
repositório para Compilar, Testar, Empacotar ou Implantar. Workflows são
constituídos de um ou mais Jobs e podem ser programados ou ativados por um
evento / gatilho.
Workflows
• Arquivo hospedado na pasta .github/workflows
• Utiliza sintaxe YAML, .yml ou .yaml
GitHub Actions
• Job
Um conjunto de etapas que são executadas no mesmo agente. É possível definir
as regras de dependência para o modo como as tarefas são executadas em um
Workflow. Os Jobs podem ser executados ao mesmo tempo e em paralelo ou
executados em sequência, dependendo do status de um trabalho anterior. Por
exemplo, um fluxo de trabalho pode ter dois Jobs 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 Job de Build, o Job de teste não será executado.
Para os agentes hospedados no GitHub, cada Job em um Workflow é executado
em uma nova instância de um ambiente virtual.
GitHub Actions
• Jobs
• Runs-On
Se você usar um Runner hospedado no GitHub, cada Job será executado em
uma nova instância de um ambiente virtual especificado por runs-on.
GitHub Actions
• Eventos / Triggers
GitHub Actions
• Action
Tarefas individuais que você combina como Steps para criar um Job.
As Actions são o menor bloco de um Workflow. Você pode criar as
suas próprias Actions, usar Actions compartilhadas pela comunidade
GitHub e personalizar Actions públicas. Para usar uma Action em um
Workflow, você deverá incluí-la como uma etapa.
GitHub Actions
• Command
De acordo com o tipo de Workflow podemos executar comandos
específicos disponibilizados por uma tecnologia (como .NET Core CLI,
Docker CLI, kubectl)
GitHub Actions
• Artifact
Artifacts são arquivos que surgem quando você compila e testa seu
código. Por exemplo, os artefatos podem incluir arquivos binários ou
de pacotes, resultados de testes, capturas de tela ou arquivos de log.
Os artefatos são associados à execução do fluxo de trabalho em que
foram criados e podem ser usados ou implementados por outro
trabalho.
GitHub Actions
• Secrets
Disponíveis por todo um Workflow, permitindo o armazenamento de dados
sensíveis de forma criptografada (os valores correspondentes são truncados na
visualização contendo o resultado do processamento de um Workflow)

Interop git hubactions v2

  • 3.
    GitHub Actions: automatizandoo build/deployment de seus projetos Renato Groffe Vinicius Moura
  • 4.
    GitHub GitHub é umsistema de gerenciamento de projetos e versões de códigos assim como uma plataforma de rede social criado para desenvolvedores. Mas para que o GitHub é utilizado? Entre outras coisas, ele permite que você trabalhe em projetos colaborativos com desenvolvedores de todo o mundo, planeje seus projetos e acompanhe o trabalho.
  • 5.
    GitHub Actions O GitHubActions permite que você crie workflows personalizados de ciclo de vida de desenvolvimento de software diretamente no seu repositório do GitHub. Com o GitHub Actions, você pode criar estratégias de Integração Contínua (CI, Continuous Integration) e Implantação Contínua (CD, Continuous Deployment) diretamente no seu repositório GitHub.
  • 6.
    GitHub Actions • Disponibilidade •GH Free, GH Pro, GH Free for Organizations, GH Team, GH Enterprise & GH One • Suporte • Windows • Linux • MacOS
  • 7.
  • 8.
    GitHub Actions • Precificação •Os minutos são reiniciados todos os meses, mas o uso do armazenamento não.
  • 9.
    GitHub Actions • GitHub-HostedRunner (Agentes Hosted) Agentes Windows, Linux e MacOS, hospedados pelo GitHub. Os agentes hospedados pelo GitHub já vem pré-definidos com softwares pré instalados para utilização. Você não precisa se preocupar em manter o agente, pois o GitHub se encarrega de efetuar todas as atualizações e manutenções dos mesmos.
  • 10.
    GitHub Actions • Self-HostedRunner (Agentes Privados) Uma máquina que você gerencia e mantém o agente auto hospedado instalado. Agentes Self-Hosted oferecem mais controle de hardware, sistema operacional e ferramentas de software do que os Agentes Hosted do GitHub. Com Agentes Privados, você pode optar por criar uma configuração de hardware personalizado com mais poder de processamento ou memória para executar tarefas maiores, software de instalação disponível na sua rede local e escolher um sistema operacional não oferecido por Agentes Hosted do GitHub.
  • 11.
    GitHub Actions • Workflow Umprocesso automatizado configurável que você pode definir no seu repositório para Compilar, Testar, Empacotar ou Implantar. Workflows são constituídos de um ou mais Jobs e podem ser programados ou ativados por um evento / gatilho.
  • 12.
    Workflows • Arquivo hospedadona pasta .github/workflows • Utiliza sintaxe YAML, .yml ou .yaml
  • 13.
    GitHub Actions • Job Umconjunto de etapas que são executadas no mesmo agente. É possível definir as regras de dependência para o modo como as tarefas são executadas em um Workflow. Os Jobs podem ser executados ao mesmo tempo e em paralelo ou executados em sequência, dependendo do status de um trabalho anterior. Por exemplo, um fluxo de trabalho pode ter dois Jobs 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 Job de Build, o Job de teste não será executado. Para os agentes hospedados no GitHub, cada Job em um Workflow é executado em uma nova instância de um ambiente virtual.
  • 14.
    GitHub Actions • Jobs •Runs-On Se você usar um Runner hospedado no GitHub, cada Job será executado em uma nova instância de um ambiente virtual especificado por runs-on.
  • 15.
  • 16.
    GitHub Actions • Action Tarefasindividuais que você combina como Steps para criar um Job. As Actions são o menor bloco de um Workflow. Você pode criar as suas próprias Actions, usar Actions compartilhadas pela comunidade GitHub e personalizar Actions públicas. Para usar uma Action em um Workflow, você deverá incluí-la como uma etapa.
  • 17.
    GitHub Actions • Command Deacordo com o tipo de Workflow podemos executar comandos específicos disponibilizados por uma tecnologia (como .NET Core CLI, Docker CLI, kubectl)
  • 18.
    GitHub Actions • Artifact Artifactssão arquivos que surgem quando você compila e testa seu código. Por exemplo, os artefatos podem incluir arquivos binários ou de pacotes, resultados de testes, capturas de tela ou arquivos de log. Os artefatos são associados à execução do fluxo de trabalho em que foram criados e podem ser usados ou implementados por outro trabalho.
  • 19.
    GitHub Actions • Secrets Disponíveispor todo um Workflow, permitindo o armazenamento de dados sensíveis de forma criptografada (os valores correspondentes são truncados na visualização contendo o resultado do processamento de um Workflow)

Notas do Editor

  • #8 https://docs.github.com/en/github/getting-started-with-github/githubs-products
  • #15 https://docs.github.com/en/actions/reference/events-that-trigger-workflows#scheduled-events
  • #16 https://docs.github.com/en/actions/reference/events-that-trigger-workflows#scheduled-events