Se inscreva na aula ao vivo e gratuita: https://quiz.linuxtips.io/github-actions
Bem-vindo ao Descomplicando GitHub Actions! Este projeto foi criado pela comunidade LINUXtips para você aprender os conceitos básicos de CI/CD na prática de forma simples e direta.
Este projeto foi desenhado para ser o material de apoio do vídeo "Descomplicando GitHub Actions" no canal da LINUXtips no YouTube. A ideia é que você possa codificar junto e aprender na prática.
Neste projeto você aprenderá:
- Estrutura de um workflow: jobs, steps, actions do marketplace
- Como usar actions prontas:
actions/checkout
,actions/setup-node
- Executar comandos: instalação de dependências, build, testes e cobertura
- Health checks: verificar se sua aplicação está funcionando
- Artefatos: gerar certificados de conclusão dos níveis 1 e 2
-
Fork este Repositório: Clique no botão "Fork" no canto superior direito desta página para criar uma cópia deste projeto na sua própria conta do GitHub.
-
Clone o seu Fork:
git clone https://github.com/SEU-USUARIO-GITHUB/LINUXtips-github-actions.git cd LINUXtips-github-actions
-
Habilite os GitHub Actions: Vá para a aba "Actions" do seu repositório e clique no botão verde "I understand my workflows, go ahead and enable them".
-
Instale as Dependências: Você precisa do Node.js (versão 16 ou superior):
npm install
-
Teste a Aplicação Localmente:
npm start
Acesse http://localhost:3000 no seu navegador.
-
Execute seu Primeiro Workflow:
- Faça uma alteração simples (ex: adicione seu nome no README.md)
- Faça commit e push
- Vá para a aba "Actions" e veja seu primeiro workflow rodando!
O arquivo 01-basic-ci.yml
(Nível 1) demonstra:
- Setup do Ambiente: Configuração do Node.js
- Verificação da Estrutura: Validação dos arquivos do projeto
- Build: Executar o comando de build
- Health Check: Testar se a aplicação inicia corretamente
- Certificado: Gerar um artefato com seu certificado de conclusão (level-1-certificate)
O arquivo 02-tests-ci.yml
(Nível 2) demonstra:
- Testes Automatizados: Executar Jest com cobertura
- Cobertura Mínima: Validar cobertura mínima definida por
COVERAGE_MIN
(80%) - Certificado: Gerar um artefato com seu certificado do nível 2 (level-2-certificate)
Ao completar cada workflow com sucesso, você ganha os badges:
server.js
: Aplicação Express simples com dashboard e APIpublic/
: Interface web que mostra seu progressopackage.json
: Dependências e scripts do Node.js.github/workflows/01-basic-ci.yml
: Seu primeiro workflow do GitHub Actions
- Ao Jeferson e ao Fábio, além de toda a comunidade LINUXtips por inspirar e fomentar a educação em tecnologia no Brasil.
- A todos os contribuidores que ajudarem a tornar este projeto ainda melhor.
Feito pela comunidade LINUXtips.