Pular para conteúdo

Resolução: Aula 11 - CI/CD Moderno 🚀

🟢 Básicos (Fixação)

1. Conceito de Pipeline Ao invés do envio caótico manual do seu notebook direto para o Data Center, o código entra na Continuous Integration (CI): um computador "Robô" na nuvem (GitHub Actions/Jenkins) baixa sua arte, compila, resolve as bibliotecas de pacote (ex: npm install), execta com unhas de ferro todos os testes e linters em 2 minutos. Com luz verde, procede-se o Continuous Delivery (CD): o executor compila em formato de contêiner ou binário otimizado, joga a pasta na nuvem final com chaves sigilosas, reinicia a malha de rede em produção ou reverte automaticamente perante erros críticos de subida.

2. Eventos do GitHub * O evento push: Aciona o pipeline cada e toda bendita vez que você interage salvando em linha reta com a ramagem. É usado comumente nos ambientes "dev" apenas para atestar funcionalidade de pacote e testes em tempo real da tua produção do dia. * O evento pull_request: Age como juiz do guardião. O pipeline não opera ao acaso, só tracionando nos momentos sacros de tentativa de Merge num projeto vital (impedindo a incorporação de bugs num repositório Master/Main partilhado perante os mantenedores chefes em tempo limite de revisão).


🟡 Intermediários (Aplicação)

3. Falha na Integração Completamente impedido (Blocked on Rules). O pressuposto principal que financia o maquinário de CI é o estabelecimento da malha fina de falhas; caso ele não sirva como barreira física (Branch Protection Rule), toda a engenharia seria inócuo "perfumaria" com testes falsos ignorados, esvaziando a integridade do código que corrompe as bases centrais.

4. YAML Syntax A sintaxe hierárquica base original das automações Github não lida textualizada no singular; um ciclo (Job) de execução engloba passos em profusão, e de tal forma a declaração matriz deveria evocar listagem (array) pluralizada na key correspondente: steps:.


🔴 Desafio (Exploração)

5. Matriz de Testes (Build Matrix) Criar uma "Build Matrix" exime o mantenedor de redigir longos 3 Jobs e scripts isolados massivos caso um projeto (como o próprio NodeJS) precise rodar e atestar estabilidade cruzada em Microsoft Windows, CentOS GNU/Linux e MacOSX. Através de um array indexado no .yml (tipo os: [ubuntu-latest, windows-latest, macos-latest]), o Github lê o comando solitário multiplicando virtualmente a execução paralelizada criando 3 Máquinas instantâneas operacionais a partir das regras básicas. Isso poupa 80% do texto base scriptado, conferindo escalabilidade de automação para testadores.