Skip to main content

🚀 Trilha CI/CD com Github action

Aprender a automatizar processos de integração contínua (CI) e entrega contínua (CD) utilizando GitHub Actions, desde conceitos básicos até pipelines avançados para diferentes tipos de aplicações.


📌 Pré-Requisitos

Antes de começar, é importante ter conhecimento básico sobre os seguintes tópicos:

1. Controle de Versão e GitHub

  • Noções de Git (commits, branches, merges, pull requests).
  • Conhecimento básico do GitHub (repositórios, issues, actions).
    📚 Recursos:

2. Fundamentos de Desenvolvimento e Linha de Comando

3. Conceitos de DevOps e CI/CD

  • Entender os princípios de DevOps e Integração Contínua/Entrega Contínua (CI/CD).
  • Familiaridade com pipelines de CI/CD (mesmo que de forma teórica).
    📚 Recursos:

4. Docker e Containers (Opcional, mas recomendado)


1. Fundamentos de CI/CD e GitHub Actions

🔹 O que é CI/CD? – Conceitos, benefícios e diferenciação entre CI (Continuous Integration) e CD (Continuous Deployment/Delivery).
🔹 Introdução ao GitHub Actions – Estrutura de workflows, actions, eventos e runners.
🔹 Primeiro Workflow no GitHub Actions – Criando e executando um workflow básico.
🔹 Explorando YAML – Como definir jobs, steps, actions e variáveis.

📚 Recursos:

2. Construção de Workflows para Integração Contínua (CI)

🔹 Gatilhos e eventos – Quando um workflow pode ser disparado (push, pull request, tags, schedule).
🔹 Execução de testes automatizados – Como rodar testes unitários e integração em diferentes linguagens (Python, JavaScript, Java, C#).
🔹 Linting e análise estática de código – Melhorando a qualidade do código com ESLint, Pylint, SonarCloud.
🔹 Cache e artefatos – Como otimizar builds e armazenar resultados.

📚 Recursos:

3. Desafio

O desafio é implementar uma automação de CI/CD usando Github Actions para um programa que permita realizar as seguintes buscas:

  1. Listar os órgãos, códigos e editais dos concursos públicos que se encaixam no perfil do candidato, tomando como base o seu CPF;
  2. Listar o nome, data de nascimento e o CPF dos candidatos que se encaixam no perfil do concurso tomando com base o Código do Concurso do concurso público;

A automação deve realizar as seguintes automações:

  1. Executar os testes automatizados
  2. Verificar a qualidade do código
  3. Quebrar o CI quando os testes falharem ou quando a qualidade for menor de 80%
  4. Registrar o docker do software no Github Package