CI/CD: construir, validar e entregar
Doze aulas, 100 perguntas e 20 casos sobre CI/CD: contratos entre jobs, resultados de testes, origem carregada, caches de módulos, fronteiras funcionais e aceitação.
Objetivos e percurso
Doze módulos ligam integração, dependências, confiança e operação a seis workshops. Preserva a evidência histórica de actionlint/Bash e treze grupos locais de resultados unittest. Acrescenta dez grupos executados duas vezes com módulos Python originais realmente carregados: alvo declarado diferente do observado, cache de módulos, PYTHONPATH, modo isolado e substituição de ficheiro após importação. Um cálculo fictício passa no caso habitual e falha na fronteira; a correção passa quatro testes locais. Conteúdo original PT-PT/EN e avaliação interna de 62 decisões em 130 minutos. Cumprir quantidades não conclui a preparação: aceitação representativa, oficina humana, revisão independente e feedback continuam pendentes.
Para quem: Equipas APS L2/L3, infraestrutura, SRE, administração de sistemas e gestores técnicos.
Pré-requisitos: Noções de aplicações, monitorização e suporte à produção; não pressupõe processos internos de qualquer banco.
770 minutos de estudo estimados
- Distingue feedback de integração, preparação para release e promoção automática.
- Organiza execução e transferência de resultados segundo dependências reais.
- Conserva o resultado avaliado e distingue persistência de otimização por cache.
- Faz com que falhas relevantes interrompam promoção sem perder diagnóstico.
- Delimita código executado, permissões e credenciais em cada etapa.
- Diagnostica atrasos e falhas sem duplicar efeitos ou perder controlo da execução.
- Interpreta diagnósticos reais de actionlint e revê dependências, outputs e permissões sem confundir validação com execução.
- Preserva falhas ao recolher diagnóstico, distingue âmbito de variáveis e verifica se a evidência corresponde aos bytes candidatos à entrega.
- Distingue testes selecionados, ignorados, falhados e aprovados; transforma requisitos críticos numa política de aceitação verificável.
- Liga relatórios à execução e ao candidato corretos, preservando a distinção entre metadata associada, testes executados e confiança no produtor.
- Confirma a implementação realmente exercitada e distingue pesquisa, cache de módulos, estado do disco e identidade declarada.
- Escolhe casos que distingam requisitos críticos e combina alvo correto, cobertura e resultados numa decisão de aceitação delimitada.
Módulos
- Integração e entrega
- Jobs e dependências
- Artefactos e evidência
- Testes e decisões
- Identidade e confiança
- Operação e recuperação
- Validação estática e contratos entre jobs
- Shell, resultados e evidência de entrega
- Descoberta e resultados de testes
- Relatórios atuais e alvo exercitado
- Alvo carregado e estado do processo
- Fronteiras funcionais e aceitação da candidata
Continua a aprender
Referências e versão
CI/CD practices 2026-09; scoped GitHub Actions GitLab Jenkins and Azure DevOps Services documentation
- Frequent integration and automated build/test feedback · 2026-09-30
- Continuous delivery versus continuous deployment · 2026-09-30
- Pipeline stages jobs runners and reusable configuration · 2026-09-30
- Pipeline as code and delivery stages · 2026-09-30
- Test result handling artifacts and credential scope · 2026-09-30
- Directed job dependencies and earlier starts · 2026-09-30
- Workflow artifacts · 2026-10-03
- Job artifacts · 2026-10-04
- Regenerable dependency caches and trust boundaries · 2026-09-30
- Verified provenance and limits of artifact attestations · 2026-09-30
- Secure use reference · 2026-10-03
- Workflow identity cloud trust and short-lived credentials · 2026-09-30
- Concurrency groups pending queues and cancellation semantics · 2026-09-30
- Bounded retry timeout and stash lifetime · 2026-09-30
- Pipeline deployment approvals · 2026-10-03
- actionlint v1.7.11 release · 2026-10-03
- actionlint v1.7.11 checks · 2026-10-03
- actionlint v1.7.11 usage · 2026-10-03
- Workflow syntax for GitHub Actions · 2026-10-03
- Contexts reference · 2026-10-03
- Workflow commands · 2026-10-03
- subprocess: execution and process results · 2026-10-04
- hashlib: secure hashes and message digests · 2026-10-04
- unittest: discovery, outcomes and test results · 2026-10-04
- Unit test reports · 2026-10-04
- Testing for Reliability · 2026-10-04
- The import system · 2026-10-04
- Command line and environment · 2026-10-04
- decimal: Decimal arithmetic · 2026-10-04
- importlib: import implementation · 2026-10-04
O que vais explorar
0 / 12Integração e entrega
Distingue feedback de integração, preparação para release e promoção automática.
Jobs e dependências
Organiza execução e transferência de resultados segundo dependências reais.
Artefactos e evidência
Conserva o resultado avaliado e distingue persistência de otimização por cache.
Testes e decisões
Faz com que falhas relevantes interrompam promoção sem perder diagnóstico.
Identidade e confiança
Delimita código executado, permissões e credenciais em cada etapa.
Operação e recuperação
Diagnostica atrasos e falhas sem duplicar efeitos ou perder controlo da execução.
Validação estática e contratos entre jobs
Interpreta diagnósticos reais de actionlint e revê dependências, outputs e permissões sem confundir validação com execução.
Shell, resultados e evidência de entrega
Preserva falhas ao recolher diagnóstico, distingue âmbito de variáveis e verifica se a evidência corresponde aos bytes candidatos à entrega.
Descoberta e resultados de testes
Distingue testes selecionados, ignorados, falhados e aprovados; transforma requisitos críticos numa política de aceitação verificável.
Relatórios atuais e alvo exercitado
Liga relatórios à execução e ao candidato corretos, preservando a distinção entre metadata associada, testes executados e confiança no produtor.
Alvo carregado e estado do processo
Confirma a implementação realmente exercitada e distingue pesquisa, cache de módulos, estado do disco e identidade declarada.
Fronteiras funcionais e aceitação da candidata
Escolhe casos que distingam requisitos críticos e combina alvo correto, cobertura e resultados numa decisão de aceitação delimitada.