Presença
Registro de presença na sessão com o código informado pelo instrutor.
coleta fechada
Híbrido · 20 h · 11/01/2027 a 15/01/2027 · Instrutor: Gustavo Costa
| Sessão | Data | Horário | Módulos |
|---|---|---|---|
| s1 | 11/01/2027 | 09:00–13:00 | Fundamentos de pipelines GitLab CI/CD |
| s2 | 12/01/2027 | 09:00–13:00 | GitLab Runner: tipos, executores, registro e operação; Entrega contínua: ambientes, deploys, releases e proteção de produção |
| s3 | 13/01/2027 | 09:00–13:00 | Reuso de configuração: include, extends, inputs e componentes do CI/CD Catalog; Infraestrutura como código e Kubernetes: estado OpenTofu gerenciado e agente GitLab para Kubernetes |
| s4 | 14/01/2027 | 09:00–13:00 | Backup, restauração e upgrade |
| oficina | 15/01/2027 | 09:00–13:00 | GitLab Runner: tipos, executores, registro e operação; Entrega contínua: ambientes, deploys, releases e proteção de produção |
Registro de presença na sessão com o código informado pelo instrutor.
coleta fechada
Questionário antes do primeiro módulo (mede o conhecimento inicial).
coleta fechada
O mesmo questionário ao final da turma (mede a evolução).
coleta fechada
Pesquisa anônima sobre a turma, o instrutor e os laboratórios.
coleta fechada
Pré-requisitos: repositorio-git
| Tópico | Tier | Fonte |
|---|---|---|
| Estrutura do .gitlab-ci.yml: palavras-chave globais (default, include, stages, variables, workflow) e de job | Free | documentação |
| Stages padrão (.pre, build, test, deploy, .post); job sem stage vai para test | Free | documentação |
| Jobs, script, before_script, after_script, image, jobs ocultos iniciados por ponto | Free | documentação |
| when (on_success padrão, on_failure, always, manual, delayed, never) e allow_failure | Free | documentação |
| Pipeline editor e validação de configuração (CI Lint) | Free | documentação |
| Tipos e estados de pipeline | Free | documentação |
Pré-requisitos: Fundamentos de pipelines GitLab CI/CD
| Tópico | Tier | Fonte |
|---|---|---|
| Runners de instância, grupo e projeto; fila de uso justo dos runners de instância | Free | documentação |
| Fluxo de criação de runner com token de autenticação glrt-; token de registro legado | Free | documentação |
| Executores Kubernetes, Docker, Docker Autoscaler e Instance; SSH, Shell, Parallels, VirtualBox e Custom em modo de manutenção | Free | documentação |
| Tags, Run untagged jobs, runners protegidos | Free | documentação |
| config.toml (/etc/gitlab-runner/ como root), concurrent e recarga automática a cada 3 segundos | Free | documentação |
| Status de runner: online (contato nas últimas 2 h), offline, stale (mais de 7 dias), never_contacted | Free | documentação |
Pré-requisitos: ci-variaveis-artefatos
| Tópico | Tier | Fonte |
|---|---|---|
| environment, deployment tiers (production, staging, testing, development, other) e atribuição automática pelo nome | Free | documentação |
| Review apps: ambiente dinâmico por branch, on_stop com environment:action stop, auto_stop_in | Free | documentação |
| resource_group, Prevent outdated deployment jobs e deploy freeze (variável CI_DEPLOY_FREEZE) | Free | documentação |
| Ambientes protegidos | Premium | documentação |
| Aprovações de deploy; autoaprovação desabilitada por padrão para quem disparou o pipeline | Premium | documentação |
| Releases com a palavra-chave release; evidência da release em JSON | Free | documentação |
| Artefatos de relatório incluídos na evidência da release | Ultimate | documentação |
Pré-requisitos: ci-variaveis-artefatos, ci-regras-dag
| Tópico | Tier | Fonte |
|---|---|---|
| include (component, local, project, remote, template); até 150 includes por pipeline; mesclagem com precedência do .gitlab-ci.yml | Free | documentação |
| extends (até 11 níveis de herança), jobs ocultos, âncoras YAML restritas ao próprio arquivo e !reference | Free | documentação |
| spec:inputs: tipos string (padrão), array, number e boolean; interpolação $[[ inputs.id ]]; input obrigatório sem default | Free | documentação |
| Inputs x variáveis de CI/CD (valor fixo na criação do pipeline x valor em tempo de execução) | Free | documentação |
| Projeto de componentes: diretório templates/, até 100 componentes por projeto, referência FQDN/caminho/componente@versão, ~latest e versão semântica parcial | Free | documentação |
| Publicação no CI/CD Catalog: projeto de catálogo (Owner), descrição, README.md e job com release | Free | documentação |
Pré-requisitos: Entrega contínua: ambientes, deploys, releases e proteção de produção
| Tópico | Tier | Fonte |
|---|---|---|
| Estado OpenTofu/Terraform gerenciado pela plataforma GitLab, criptografado em repouso | Free | documentação |
| Componente OpenTofu do CI/CD Catalog (validate-plan-apply) | Free | documentação |
| Agente GitLab para Kubernetes: um agente por cluster, registrado em projeto, .gitlab/agents/<nome>/config.yaml | Free | documentação |
| Fluxo CI/CD com o agente: ci_access (projects, groups) e contexto <caminho/projeto>:<agente> | Free | documentação |
| GitOps com Flux e agentk | Free | documentação |
| Versões de Kubernetes suportadas: 1.34, 1.35 e 1.36 | Free | documentação |
Pré-requisitos: adm-arquitetura-instalacao
| Tópico | Tier | Fonte |
|---|---|---|
| gitlab-backup create: conteúdo do arquivo (banco, repositórios, artefatos, registries, uploads, estados Terraform) | Free | documentação |
| Dados fora do backup: /etc/gitlab (gitlab-secrets.json, gitlab.rb), object storage, Redis, chaves TLS e SSH | Free | documentação |
| Diretório padrão /var/opt/gitlab/backups (gitlab_rails['backup_path']); STRATEGY=copy; SKIP= | Free | documentação |
| Restauração: mesma versão e tipo, parada de Puma e Sidekiq, gitlab-backup restore BACKUP=<id> | Free | documentação |
| Paradas obrigatórias de upgrade em x.2, x.5, x.8 e x.11 (19.2, 19.5, 19.8, 19.11); última versão de patch | Free | documentação |
| Batched background migrations: Admin > Monitoring > Background migrations e API administrativa | Free | documentação |
Cada aluno recebe um subgrupo com os projetos dos exercícios; a correção é automática, pela API da plataforma GitLab.
| Exercício | Título | Objetivo | Tier | Duração |
|---|---|---|---|---|
| lab-ci-01 | Primeiro pipeline com stages e jobs | Criar .gitlab-ci.yml com build e teste e executar o pipeline em main. | Free | 45 min |
| lab-ci-02 | Diagnosticar pipeline quebrado | Corrigir erro de sintaxe YAML e erro de script sem remover testes. | Free | 40 min |
| lab-cd-01 | Review apps, deploy manual para produção e release | Configurar ambientes dinâmicos com parada, deploy controlado em produção e release por tag. | Free | 60 min |
| lab-cd-02 | Ambiente protegido com aprovação de deploy | Exigir aprovação antes do deploy em produção. | Premium | 30 min |
| lab-ci-06 | Criar, publicar e consumir um componente do CI/CD Catalog | Transformar um job repetido em componente versionado com inputs. | Free | 80 min |
| lab-iac-01 | OpenTofu com estado gerenciado | Executar validate, plan e apply com o componente OpenTofu e estado na plataforma GitLab. | Free | 35 min |