¿Qué hace gitlab-ci-patterns?
Construye flujos de CI/CD en GitLab con workflows multi-etapa, caché y runners distribuidos para automatización escalable. Úsalo al implementar GitLab CI/CD, optimizar el rendimiento del pipeline o configurar pruebas y despliegues automatizados.
Características
- Workflows multi-etapa: Define stages como
build,testydeploycon dependencias claras. - Caché inteligente: Acelera pipelines almacenando dependencias entre ejecuciones.
- Runners distribuidos: Aprovecha runners específicos para trabajos paralelos.
- Integración continua: Compatible con pruebas automatizadas y análisis de calidad.
- Despliegues multi-ambiente: Publica en entornos de staging y producción.
Uso básico
Agrega el siguiente archivo .gitlab-ci.yml a tu repositorio:
stages:
- build
- test
- deploy
variables:
CACHE_VERSION: "v1"
cache:
key: "${CI_COMMIT_REF_SLUG}-${CACHE_VERSION}"
paths:
- node_modules/
- .cache/
build-app:
stage: build
image: node:18
script:
- npm ci
- npm run build
artifacts:
paths:
- dist/
test-app:
stage: test
image: node:18
script:
- npm ci
- npm run test
dependencies:
- build-app
deploy-staging:
stage: deploy
image: alpine:latest
script:
- apk add --no-cache curl
- curl -X POST "https://api.example.com/deploy"
environment:
name: staging
only:
- main
Configuración avanzada
Caché por rama
cache:
key: "${CI_COMMIT_REF_SLUG}-${CI_JOB_NAME}"
paths:
- .npm/
policy: pull-push
Runners etiquetados
Usa etiquetas para asignar trabajos a runners específicos:
build-linux:
tags:
- linux
- docker
script:
- ./build.sh
Variables de entorno
Define variables sensibles en la UI de GitLab y accede a ellas:
deploy-production:
stage: deploy
script:
- echo "Desplegando a producción"
- curl -H "Authorization: Bearer $DEPLOY_TOKEN" https://api.example.com/deploy
environment:
name: production
only:
- tags
Referencias
- Documentación oficial de GitLab CI/CD: https://docs.gitlab.com/ee/ci/
- Buenas prácticas para pipelines: https://docs.gitlab.com/ee/ci/yaml/