gitlab-ci
Configura pipelines e 'runners' de CI/CD no GitLab. Automatiza a compilação, teste e implantação de software.
O que ela faz
Esta ferramenta ajuda a configurar e automatizar processos de entrega de software usando o GitLab CI/CD. Ela permite que você crie etapas para construir, testar e implantar seu código automaticamente.
Quando usar
- ✓Ao configurar o sistema de entrega contínua do GitLab.
- ✓Ao definir como o código será testado e implantado automaticamente.
- ✓Ao gerenciar as ferramentas que executam essas tarefas automatizadas.
Exemplo do que pedir para a IA
“Configure um pipeline para construir, testar e implantar meu aplicativo Node.js na branch principal.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Você define as etapas (stages) e as tarefas (jobs) em um arquivo chamado `.gitlab-ci.yml`. Este arquivo descreve o que fazer, em que ordem e com quais ferramentas.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill gitlab-ciOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/gitlab-ci/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
GitLab CI/CD
Automatize seu pipeline de entrega de software com o sistema integrado de CI/CD do GitLab.
Quando Usar Esta Habilidade
Use esta habilidade quando:
- Configurar pipelines de CI/CD no GitLab
- Configurar runners do GitLab (compartilhados ou auto-hospedados)
- Criar pipelines de implantação com múltiplos estágios
- Implementar o GitLab Auto DevOps
- Gerenciar variáveis e segredos de CI/CD
Pré-requisitos
- Repositório GitLab (gitlab.com ou auto-hospedado)
- Compreensão básica de YAML
- Para runners auto-hospedados: servidor Linux ou cluster Kubernetes
Configuração do Pipeline
Crie .gitlab-ci.yml na raiz do repositório:
stages:
- build
- test
- deploy
variables:
NODE_VERSION: "20"
build:
stage: build
image: node:${NODE_VERSION}
script:
- npm ci
- npm run build
artifacts:
paths:
- dist/
expire_in: 1 hour
test:
stage: test
image: node:${NODE_VERSION}
script:
- npm ci
- npm test
coverage: '/Coverage: \d+\.\d+%/'
deploy:
stage: deploy
script:
- ./deploy.sh
environment:
name: production
url: https://example.com
only:
- main
Configuração de Jobs
Execução Baseada em Regras
deploy:
script: ./deploy.sh
rules:
- if: $CI_COMMIT_BRANCH == "main"
when: manual
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
when: never
- when: on_success
Jobs Paralelos
test:
stage: test
parallel: 3
script:
- npm test -- --shard=$CI_NODE_INDEX/$CI_NODE_TOTAL
Builds em Matriz
test:
stage: test
parallel:
matrix:
- NODE_VERSION: ["18", "20", "22"]
OS: ["alpine", "slim"]
image: node:${NODE_VERSION}-${OS}
script:
- npm test
Cache
cache:
key:
files:
- package-lock.json
paths:
- node_modules/
policy: pull-push
build:
cache:
key: build-cache
paths:
- .cache/
policy: pull
Artefatos
build:
artifacts:
paths:
- dist/
- coverage/
reports:
junit: junit.xml
coverage_report:
coverage_format: cobertura
path: coverage/cobertura.xml
expire_in: 1 week
when: always
Ambientes e Implantações
deploy_staging:
stage: deploy
script:
- deploy --env staging
environment:
name: staging
url: https://staging.example.com
on_stop: stop_staging
stop_staging:
stage: deploy
script:
- undeploy --env staging
environment:
name: staging
action: stop
when: manual
Builds Docker
build_image:
stage: build
image: docker:24
services:
- docker:24-dind
variables:
DOCKER_TLS_CERTDIR: "/certs"
script:
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
- docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA .
- docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
Runners do GitLab
Instalar Runner
# Download and install
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash
sudo apt install gitlab-runner
# Register runner
sudo gitlab-runner register \
--url https://gitlab.com/ \
--registration-token TOKEN \
--executor docker \
--docker-image alpine:latest
Configuração do Runner
# /etc/gitlab-runner/config.toml
[[runners]]
name = "docker-runner"
url = "https://gitlab.com/"
token = "TOKEN"
executor = "docker"
[runners.docker]
image = "alpine:latest"
privileged = true
volumes = ["/cache", "/var/run/docker.sock:/var/run/docker.sock"]
Tags do Runner
build:
tags:
- docker
- linux
script:
- make build
Variáveis de CI/CD
Variáveis Protegidas
Defina em Settings > CI/CD > Variables:
AWS_ACCESS_KEY_ID(protegida, mascarada)AWS_SECRET_ACCESS_KEY(protegida, mascarada)
Usando Variáveis
deploy:
script:
- aws s3 sync dist/ s3://$S3_BUCKET
variables:
AWS_DEFAULT_REGION: us-east-1
Include e Extend
Incluir Templates
include:
- template: Security/SAST.gitlab-ci.yml
- project: 'group/shared-ci'
file: '/templates/deploy.yml'
- local: '/ci/jobs.yml'
Estender Jobs
.base_job:
image: node:20
before_script:
- npm ci
build:
extends: .base_job
script:
- npm run build
test:
extends: .base_job
script:
- npm test
Pipelines Multi-Projeto
trigger_downstream:
stage: deploy
trigger:
project: group/downstream-project
branch: main
…
Perguntas frequentes
O que são 'runners'?
Runners são os agentes que executam as tarefas definidas no seu pipeline. Eles podem ser configurados no GitLab ou em seus próprios servidores.
O que são 'artifacts'?
Artifacts são os arquivos gerados por uma tarefa, como o resultado da construção do seu código, que podem ser usados por outras tarefas ou baixados.
O que são 'stages'?
Stages são as fases principais do seu pipeline, como 'build' (construir), 'test' (testar) e 'deploy' (implantar). As tarefas dentro de um stage são executadas em paralelo, e os stages são executados em sequência.
Detalhes
Descrição original do autor
Configure GitLab CI/CD pipelines and runners for automated building, testing, and deployment.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3140
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
bun-runtime
Faz seu agente usar o Bun para rodar, organizar e testar código. Ajuda a escolher o Bun em vez de outras ferramentas e a migrar projetos existentes.
affaan-m/ECC
database-migrations
Ajuda seu agente a fazer mudanças seguras em bancos de dados. Ele garante que as alterações possam ser desfeitas e minimiza o tempo de inatividade.
affaan-m/ECC
deployment-patterns
Configura fluxos de implantação e CI/CD, containerização e estratégias de rollback para garantir lançamentos seguros.
affaan-m/ECC