🎯

gitlab-ci-patterns

🎯Skill

from rmyndharis/antigravity-skills

VibeIndex|
What it does

Generates scalable GitLab CI/CD pipelines with multi-stage workflows, caching, and automated testing and deployment strategies.

πŸ“¦

Part of

rmyndharis/antigravity-skills(289 items)

gitlab-ci-patterns

Installation

npm runRun npm script
npm run build:catalog
npxRun with npx
npx @rmyndharis/antigravity-skills search <query>
npxRun with npx
npx @rmyndharis/antigravity-skills search kubernetes
npxRun with npx
npx @rmyndharis/antigravity-skills list
npxRun with npx
npx @rmyndharis/antigravity-skills install <skill-name>

+ 15 more commands

πŸ“– Extracted from docs: rmyndharis/antigravity-skills
12Installs
-
AddedFeb 4, 2026

Skill Details

SKILL.md

Build GitLab CI/CD pipelines with multi-stage workflows, caching, and distributed runners for scalable automation. Use when implementing GitLab CI/CD, optimizing pipeline performance, or setting up automated testing and deployment.

Overview

# GitLab CI Patterns

Comprehensive GitLab CI/CD pipeline patterns for automated testing, building, and deployment.

Do not use this skill when

  • The task is unrelated to gitlab ci patterns
  • You need a different domain or tool outside this scope

Instructions

  • Clarify goals, constraints, and required inputs.
  • Apply relevant best practices and validate outcomes.
  • Provide actionable steps and verification.
  • If detailed examples are required, open resources/implementation-playbook.md.

Purpose

Create efficient GitLab CI pipelines with proper stage organization, caching, and deployment strategies.

Use this skill when

  • Automate GitLab-based CI/CD
  • Implement multi-stage pipelines
  • Configure GitLab Runners
  • Deploy to Kubernetes from GitLab
  • Implement GitOps workflows

Basic Pipeline Structure

```yaml

stages:

- build

- test

- deploy

variables:

DOCKER_DRIVER: overlay2

DOCKER_TLS_CERTDIR: "/certs"

build:

stage: build

image: node:20

script:

- npm ci

- npm run build

artifacts:

paths:

- dist/

expire_in: 1 hour

cache:

key: ${CI_COMMIT_REF_SLUG}

paths:

- node_modules/

test:

stage: test

image: node:20

script:

- npm ci

- npm run lint

- npm test

coverage: '/Lines\s:\s(\d+\.\d+)%/'

artifacts:

reports:

coverage_report:

coverage_format: cobertura

path: coverage/cobertura-coverage.xml

deploy:

stage: deploy

image: bitnami/kubectl:latest

script:

- kubectl apply -f k8s/

- kubectl rollout status deployment/my-app

only:

- main

environment:

name: production

url: https://app.example.com

```

Docker Build and Push

```yaml

build-docker:

stage: build

image: docker:24

services:

- docker:24-dind

before_script:

- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY

script:

- docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA .

- docker build -t $CI_REGISTRY_IMAGE:latest .

- docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA

- docker push $CI_REGISTRY_IMAGE:latest

only:

- main

- tags

```

Multi-Environment Deployment

```yaml

.deploy_template: &deploy_template

image: bitnami/kubectl:latest

before_script:

- kubectl config set-cluster k8s --server="$KUBE_URL" --insecure-skip-tls-verify=true

- kubectl config set-credentials admin --token="$KUBE_TOKEN"

- kubectl config set-context default --cluster=k8s --user=admin

- kubectl config use-context default

deploy:staging:

<<: *deploy_template

stage: deploy

script:

- kubectl apply -f k8s/ -n staging

- kubectl rollout status deployment/my-app -n staging

environment:

name: staging

url: https://staging.example.com

only:

- develop

deploy:production:

<<: *deploy_template

stage: deploy

script:

- kubectl apply -f k8s/ -n production

- kubectl rollout status deployment/my-app -n production

environment:

name: production

url: https://app.example.com

when: manual

only:

- main

```

Terraform Pipeline

```yaml

stages:

- validate

- plan

- apply

variables:

TF_ROOT: ${CI_PROJECT_DIR}/terraform

TF_VERSION: "1.6.0"

before_script:

- cd ${TF_ROOT}

- terraform --version

validate:

stage: validate

image: hashicorp/terraform:${TF_VERSION}

script:

- terraform init -backend=false

- terraform validate

- terraform fmt -check

plan:

stage: plan

image: hashicorp/terraform:${TF_VERSION}

script:

- terraform init

- terraform plan -out=tfplan

artifacts:

paths:

- ${TF_ROOT}/tfplan

expire_in: 1 day

apply:

stage: apply

image: hashicorp/terraform:${TF_VERSION}

script:

- terraform init

- terraform apply -auto-approve tfplan

dependencies:

- plan

when: manual

only:

- main

```

Security Scanning

```yaml

include:

- template: Security/SAST.gitlab-ci.yml

- template: Security/Dependency-Scanning.gitlab-ci.yml

- template: Security/Container-Scanning.gitlab-ci.yml

trivy-scan:

stage: test

image: aquasec/trivy:latest

script:

- trivy image --exit-code 1 --severity HIGH,CRITICAL $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA

allow_failure: true

```

Caching Strategies

```yaml

# Cache node_modules

build:

cache:

key: ${CI_COMMIT_REF_SLUG}

paths:

- node_modules/

policy: pull-push

# Global cache

cache:

key: ${CI_COMMIT_REF_SLUG}

paths:

- .cache/

- vendor/

# Separate cache per job

job1:

cache:

key: job1-cache

paths:

- build/

job2:

cache:

key: job2-cache

paths:

- dist/

```

Dynamic Child Pipelines

```yaml

generate-pipeline:

stage: build

script:

- python generate_pipeline.py > child-pipeline.yml

artifacts:

paths:

- child-pipeline.yml

trigger-child:

stage: deploy

trigger:

include:

- artifact: child-pipeline.yml

job: generate-pipeline

strategy: depend

```

Reference Files

  • assets/gitlab-ci.yml.template - Complete pipeline template
  • references/pipeline-stages.md - Stage organization patterns

Best Practices

  1. Use specific image tags (node:20, not node:latest)
  2. Cache dependencies appropriately
  3. Use artifacts for build outputs
  4. Implement manual gates for production
  5. Use environments for deployment tracking
  6. Enable merge request pipelines
  7. Use pipeline schedules for recurring jobs
  8. Implement security scanning
  9. Use CI/CD variables for secrets
  10. Monitor pipeline performance

Related Skills

  • github-actions-templates - For GitHub Actions
  • deployment-pipeline-design - For architecture
  • secrets-management - For secrets handling