Presença
Registro de presença na sessão com o código informado pelo instrutor.
coleta fechada
Presencial in company · 24 h · 16/11/2026 a 19/11/2026 · Instrutor: Gustavo Costa
| Sessão | Data | Horário | Módulos |
|---|---|---|---|
| s1 | 16/11/2026 | 09:00–12:00 | Plataforma GitLab: organização, visibilidade e papéis |
| s2 | 16/11/2026 | 13:00–16:00 | Merge requests e revisão de código |
| s3 | 17/11/2026 | 09:00–12:00 | Fundamentos de pipelines GitLab CI/CD |
| s4 | 17/11/2026 | 13:00–16:00 | GitLab Runner: tipos, executores, registro e operação; Entrega contínua: ambientes, deploys, releases e proteção de produção |
| s5 | 18/11/2026 | 09:00–12:00 | Variáveis, artefatos, cache e relatórios de teste |
| s6 | 18/11/2026 | 13:00–16:00 | Reuso de configuração: include, extends, inputs e componentes do CI/CD Catalog; Pipelines avançados: pai-filho, multiprojeto, merged results e merge trains |
| s7 | 19/11/2026 | 09:00–12:00 | Controle de execução: rules, workflow, needs e paralelismo; Compliance e auditoria: frameworks, compliance center, eventos de auditoria e evidências |
| s8 | 19/11/2026 | 13:00–16:00 |
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
| Tópico | Tier | Fonte |
|---|---|---|
| Grupos, subgrupos (até 20 níveis de aninhamento) e projetos | Free | documentação |
| Visibilidade private, internal e public; visibilidade do projeto igual ou mais restritiva que a do grupo pai | Free | documentação |
| Visibilidade internal disponível apenas em GitLab Self-Managed e GitLab Dedicated | Free | documentação |
| Papéis padrão (Minimal Access, Guest, Planner, Reporter, Developer, Maintainer, Owner) e prevalência do papel mais alto na herança | Free | documentação |
| Papel Security Manager (beta desde 18.11) | Free | documentação |
| Membros de projeto e de grupo, membros herdados e diretos | Free | documentação |
Pré-requisitos: repositorio-git
| Tópico | Tier | Fonte |
|---|---|---|
| Padrão de fechamento (Closes, Fixes, Resolves, Implements) em commit ou descrição do MR | Free | documentação |
| Métodos de merge: merge commit, merge commit com histórico semilinear, fast-forward; squash | Free | documentação |
| Auto-merge e verificação Pipelines must succeed | Free | documentação |
| Aprovações opcionais no Free (papel Developer ou superior) | Free | documentação |
| Regras de aprovação obrigatórias e aprovações em nível de grupo e instância | Premium | documentação |
| Code Owners: arquivo CODEOWNERS (raiz, docs/ ou .gitlab/) e aprovação obrigatória em branch protegida | Premium | documentação |
| Configurações de aprovação: impedir aprovação pelo autor (padrão), por quem adicionou commits, remover aprovações em novos commits | Premium | documentação |
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: Variáveis, artefatos, cache e relatórios de teste
| 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: Fundamentos de pipelines GitLab CI/CD
| Tópico | Tier | Fonte |
|---|---|---|
| Variáveis no .gitlab-ci.yml e na interface (projeto, grupo, instância); variáveis predefinidas | Free | documentação |
| Visibilidade Visible, Masked (padrão) e Masked and hidden; requisitos de mascaramento (linha única, 8 caracteres ou mais) | Free | documentação |
| Variáveis protegidas (apenas branches e tags protegidas) e variáveis do tipo arquivo | Free | documentação |
| Precedência de variáveis e restrição de pipeline variables por papel mínimo | Free | documentação |
| Artefatos: paths, expire_in (padrão da instância, 30 dias), manter artefatos mais recentes, dependencies | Free | documentação |
| Cache: key, fallback keys, policy pull/push; cache x artefatos; branches protegidas e não protegidas não compartilham cache por padrão | Free | documentação |
| Relatórios de testes unitários JUnit (arquivo até 30 MB, total até 100 MB por job) | Free | documentação |
| Cobertura: palavra-chave coverage (percentual) e artifacts:reports:coverage_report (Cobertura ou JaCoCo) | Free | documentação |
Pré-requisitos: Variáveis, artefatos, cache e relatórios de teste, Controle de execução: rules, workflow, needs e paralelismo
| 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: Controle de execução: rules, workflow, needs e paralelismo
| Tópico | Tier | Fonte |
|---|---|---|
| Pipelines downstream: pai-filho (mesmo projeto, ref e SHA; profundidade máxima de dois níveis de filhos) e multiprojeto | Free | documentação |
| trigger:strategy mirror; hierarquia de até 1000 pipelines downstream por padrão | Free | documentação |
| Pipelines de merge request | Free | documentação |
| Pipelines de merged results (commit temporário de merge) | Premium | documentação |
| Merge trains (até 20 pipelines em paralelo por merge train por padrão) | Premium | documentação |
| CI/CD job token e allowlist (por padrão a allowlist contém apenas o próprio projeto) | Free | documentação |
Pré-requisitos: Fundamentos de pipelines GitLab CI/CD
| Tópico | Tier | Fonte |
|---|---|---|
| rules: avaliação em ordem, primeira correspondência, job fora do pipeline sem correspondência | Free | documentação |
| workflow:rules e CI_PIPELINE_SOURCE == merge_request_event | Free | documentação |
| needs (até 50 jobs por padrão), needs: [] e grafo acíclico dirigido | Free | documentação |
| parallel (1 a 200) e parallel:matrix (até 200 permutações) | Free | documentação |
| interruptible e auto-cancelamento de pipelines redundantes; retry e timeout | Free | documentação |
Pré-requisitos: Plataforma GitLab: organização, visibilidade e papéis
| Tópico | Tier | Fonte |
|---|---|---|
| Compliance frameworks no grupo de nível superior; até 20 frameworks por projeto; framework padrão | Premium | documentação |
| Criação de framework a partir de template (GA 19.1) com requisitos e controles | Ultimate | documentação |
| Compliance center: overview, status, violations, frameworks e projects | Premium | documentação |
| Eventos de sign-in com sucesso (Authentication log do usuário) | Free | documentação |
| Eventos de auditoria de grupo e projeto; retenção sem prazo; filtro por período de até 30 dias | Premium | documentação |
| Streaming de eventos de auditoria para destinos HTTP e Google Cloud Logging | Ultimate | documentação |
| Separação de funções com configurações de aprovação (autor e committers) | Premium | documentação |
| Evidência de release (snapshot JSON gerado na criação da release) | Free | documentação |
| Coleta de evidência de release em outro momento, por API | Premium | 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-plataforma-01 | Estruturar grupo, subgrupo e projeto com papéis | Criar a hierarquia de um time e atribuir papéis padrão a membros. | Free | 40 min |
| lab-mr-01 | Fluxo issue, branch, merge request e merge | Fechar uma issue automaticamente pelo merge de um merge request com revisão registrada. | Free | 30 min |
| lab-mr-02 | Regra de aprovação e CODEOWNERS | Exigir aprovação de Code Owner para alterações em diretório crítico. | Premium | 35 min |
| 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-03 | Relatório de testes, cobertura e artefatos | Publicar relatório JUnit, percentual de cobertura e artefato com expiração. | Free | 50 min |
| lab-ci-04 | Variável protegida e mascarada | Usar credencial em job de branch protegida sem expor o valor no log. | Free | 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-ci-07 | Pipeline pai-filho e multiprojeto | Separar o pipeline por componente e disparar deploy em outro projeto refletindo o status. | Free | 45 min |
| lab-ci-08 | Merged results e merge train | Integrar merge requests concorrentes por merge train. | Premium | 30 min |
| lab-ci-05 | Pipelines de merge request, rules, needs e matrix | Controlar quando o pipeline e cada job rodam e reduzir o tempo total com DAG. | Free | 50 min |