Presença
Registro de presença na sessão com o código informado pelo instrutor.
coleta fechada
Remoto ao vivo · 41 h · 28/09/2026 a 29/09/2026 · Instrutor: Instrutor Pointer
| Sessão | Data | Horário | Módulos |
|---|---|---|---|
| s1 | 28/09/2026 | 09:00–13:00 | Plataforma GitLab: organização, visibilidade e papéis; Repositório Git na plataforma GitLab: branches, tags e proteção; Merge requests e revisão de código; Planejamento com itens de trabalho, labels, milestones e boards; Gestão de portfólio: épicos, roadmaps, iterações e pesos; Métricas de entrega: Value Stream Analytics, métricas DORA e analytics de CI/CD |
| s2 | 29/09/2026 | 08:00–12:00 | Fundamentos de pipelines GitLab CI/CD; Variáveis, artefatos, cache e relatórios de teste; Controle de execução: rules, workflow, needs e paralelismo; Reuso de configuração: include, extends, inputs e componentes do CI/CD Catalog; Pipelines avançados: pai-filho, multiprojeto, merged results e merge trains; Entrega contínua: ambientes, deploys, releases e proteção de produção |
| s3 | 29/09/2026 | 13:00–17:00 | Container registry e package registry; Infraestrutura como código e Kubernetes: estado OpenTofu gerenciado e agente GitLab para Kubernetes; Varreduras de segurança no pipeline: SAST, segredos, dependências, contêiner e IaC; Gestão de vulnerabilidades e de dependências; Políticas de segurança: varredura, aprovação de MR, execução de pipeline e gestão de vulnerabilidades; Identidade, tokens e segredos em CI/CD |
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: Plataforma GitLab: organização, visibilidade e papéis
| Tópico | Tier | Fonte |
|---|---|---|
| Branch padrão protegida por padrão; regras em Settings > Repository > Branch rules | Free | documentação |
| Allowed to merge, Allowed to push and merge (inclusive No one), Allowed to force push, regras com curinga | Free | documentação |
| Branches protegidas no nível de grupo; grupos e usuários individuais nas listas de permissão | Premium | documentação |
| Tags protegidas: controle de criação e bloqueio de atualização e exclusão | Free | documentação |
| Push rules (pre-receive hooks): expressões RE2 até 511 caracteres, mensagem de commit, autor, commits assinados | Premium | documentação |
| Branches: criação, comparação e exclusão | Free | documentação |
Pré-requisitos: Repositório Git na plataforma GitLab: branches, tags e proteção
| 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: Plataforma GitLab: organização, visibilidade e papéis
| Tópico | Tier | Fonte |
|---|---|---|
| Tipos de itens de trabalho: issue, epic, task, objetivos e resultados-chave, casos de teste | Free | documentação |
| Lista unificada Plan > Work items (disponível de forma geral desde 18.10) | Free | documentação |
| Labels; scoped labels com sintaxe chave::valor mutuamente exclusivas | Premium | documentação |
| Milestones e percentual concluído | Free | documentação |
| Gráficos burndown e burnup de milestone | Premium | documentação |
| Issue boards e múltiplos boards | Free | documentação |
| Boards configuráveis (milestone, labels, responsável, peso, iteração) e listas por responsável | Premium | documentação |
Pré-requisitos: Planejamento com itens de trabalho, labels, milestones e boards
| Tópico | Tier | Fonte |
|---|---|---|
| Épicos e hierarquia de itens de trabalho | Premium | documentação |
| Épicos filhos (épico pai de outros épicos) | Ultimate | documentação |
| Roadmap (linha do tempo de épicos e milestones) | Premium | documentação |
| Iterações e cadências de iteração | Premium | documentação |
| Peso de itens de trabalho (inclui épicos desde 18.11) | Premium | documentação |
Pré-requisitos: Planejamento com itens de trabalho, labels, milestones e boards
| Tópico | Tier | Fonte |
|---|---|---|
| Value Stream Analytics: estágios definidos por par de eventos; lead time e cycle time | Free | documentação |
| Value streams customizados e agregação de dados | Premium | documentação |
| Métricas DORA: frequência de deploy (média), lead time para mudanças, tempo de restauração e taxa de falha de mudanças (mediana) | Ultimate | documentação |
| Value Streams Dashboard (movido para Premium em 18.2) | Premium | documentação |
| CI/CD analytics: total de pipelines, duração mediana, taxas de falha e sucesso | Free | documentação |
| API de métricas DORA por projeto e grupo | Ultimate | documentação |
Pré-requisitos: Repositório Git na plataforma GitLab: branches, tags e proteção
| 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 |
|---|---|---|
| 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: 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: 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: 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: Variáveis, artefatos, cache e relatórios de teste
| Tópico | Tier | Fonte |
|---|---|---|
| Nome de imagem <registry>/<namespace>/<projeto>[/caminho] com até dois níveis adicionais | Free | documentação |
| Autenticação no pipeline com CI_REGISTRY_USER/CI_REGISTRY_PASSWORD ou CI_JOB_TOKEN | Free | documentação |
| Política de limpeza (name_regex e name_regex_keep) | Free | documentação |
| Package registry: formatos (Maven, npm, NuGet, PyPI, Terraform, entre outros) | Free | documentação |
| Pacotes genéricos: PUT /projects/:id/packages/generic/:nome/:versão/:arquivo | 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: Fundamentos de pipelines GitLab CI/CD
| Tópico | Tier | Fonte |
|---|---|---|
| SAST com analisadores open source, relatório JSON; exige stage test e runner Linux com executor Docker ou Kubernetes | Free | documentação |
| GitLab Advanced SAST e resultados de SAST no merge request | Ultimate | documentação |
| Detecção de segredos no pipeline (template Jobs/Secret-Detection.gitlab-ci.yml) | Free | documentação |
| Secret push protection (GA 17.5): bloqueio do push, [skip secret push protection], push option secret_push_protection.skip_all, evento de auditoria | Ultimate | documentação |
| Dependency scanning por SBOM CycloneDX (GA 19.0; template Jobs/Dependency-Scanning.v2.gitlab-ci.yml); Gemnasium depreciado em 17.9 | Ultimate | documentação |
| Container scanning com Trivy (template Jobs/Container-Scanning.gitlab-ci.yml, variável CS_IMAGE) | Free | documentação |
| Varredura de IaC com KICS (template Jobs/SAST-IaC.gitlab-ci.yml) | Free | documentação |
Pré-requisitos: Varreduras de segurança no pipeline: SAST, segredos, dependências, contêiner e IaC
| Tópico | Tier | Fonte |
|---|---|---|
| Vulnerability report e security dashboard | Ultimate | documentação |
| Severidades: Critical, High, Medium, Low, Info, Unknown | Ultimate | documentação |
| Status Needs triage, Confirmed, Dismissed, Resolved; reintrodução retorna a Needs triage | Ultimate | documentação |
| Motivos de dismiss (Acceptable risk, False positive, Mitigating control, Used in tests, Not applicable) com comentário obrigatório | Ultimate | documentação |
| Lista de dependências (SBOM CycloneDX 1.4, 1.5 ou 1.6); exportação JSON e CSV | Ultimate | documentação |
Pré-requisitos: Varreduras de segurança no pipeline: SAST, segredos, dependências, contêiner e IaC
| Tópico | Tier | Fonte |
|---|---|---|
| Tipos de política: scan execution, merge request approval, pipeline execution, scheduled pipeline execution e vulnerability management | Ultimate | documentação |
| Security policy project (.gitlab/security-policies/policy.yml) e policy_scope | Ultimate | documentação |
| Scan execution policy: até 5 regras por política, 5 políticas por policy project, até 10 ações; sufixo numérico no nome dos jobs injetados | Ultimate | documentação |
| Merge request approval policy: regras scan_finding, license_finding e any_merge_request; severity_levels e vulnerabilities_allowed | Ultimate | documentação |
| Pipeline execution policy: inject_policy, override_project_ci (inject_ci depreciado); stages .pipeline-policy-pre e .pipeline-policy-post | Ultimate | documentação |
| Vulnerability management policy: resolução automática de vulnerabilidades não mais detectadas na branch padrão | Ultimate | documentação |
Pré-requisitos: Fundamentos de pipelines GitLab CI/CD
| Tópico | Tier | Fonte |
|---|---|---|
| Prefixos de token (glpat-, glrt-, glcbt-, gldt-, glptt-, glagent-, entre outros) | Free | documentação |
| Personal access tokens: expiração padrão de 365 dias e limite máximo configurável pelo administrador | Free | documentação |
| CI/CD job token e allowlist de projetos e grupos | Free | documentação |
| ID tokens (JWT) com id_tokens e claim aud | Free | documentação |
| Segredos do HashiCorp Vault em jobs (autenticação JWT com ID token) | Premium | documentação |
| GitLab Secrets Manager (beta público desde 19.0; disponibilidade limitada no GitLab.com desde 19.3; consome GitLab Credits) | Premium | documentação |
| Papéis customizados baseados em papel padrão | Ultimate | 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-repositorio-01 | Proteger a branch main e as tags de release | Configurar branch protegida sem push direto e tags protegidas por curinga. | Free | 30 min |
| lab-repositorio-02 | Push rule de mensagem de commit | Configurar push rule que exige padrão de mensagem de commit. | Premium | 20 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-planejamento-01 | Milestone, labels, board e tasks | Organizar um incremento de trabalho em milestone e board por label. | Free | 40 min |
| lab-portfolio-01 | Épico com issues, iteração e pesos | Estruturar uma iniciativa em épico e planejar a execução em iteração. | Premium | 40 min |
| lab-metricas-01 | Gerar dados de deploy e criar value stream | Produzir deploys em ambiente de tier production e medir fluxo com value stream customizado. | Ultimate | 45 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-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-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 |
| 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-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-registro-01 | Imagem no container registry, pacote genérico e limpeza | Publicar artefatos de build nos registries do projeto e controlar retenção. | Free | 45 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 |
| lab-seg-01 | Habilitar SAST, detecção de segredos, container scanning e IaC scanning | Adicionar varreduras de segurança ao pipeline com os templates CI/CD. | Free | 50 min |
| lab-seg-02 | Secret push protection e dependency scanning por SBOM | Bloquear segredos no push e gerar SBOM com dependency scanning. | Ultimate | 35 min |
| lab-seg-03 | Triagem e correção de vulnerabilidades | Confirmar, descartar com motivo, abrir issue e corrigir vulnerabilidades do vulnerability report. | Ultimate | 45 min |
| lab-seg-05 | Scan execution policy e merge request approval policy | Impor detecção de segredos em todos os pipelines e exigir aprovação para novos achados críticos. | Ultimate | 50 min |
| lab-segredos-01 | CI/CD job token entre projetos e ID token | Autorizar acesso entre projetos pela allowlist do job token e declarar ID token com audiência. | Free | 45 min |