gitlab-cicd-pipeline
Design and implement GitLab CI/CD pipelines with stages, jobs, artifacts, and caching. Configure runners, Docker integration, and deployment strategies.
By aj-geddes · 642 installs
npx skills add aj-geddes/useful-ai-prompts --skill gitlab-cicd-pipeline
Source repository · Upstream listing
GitLab CI/CD Pipeline
Table of Contents
[Overview]( overview)
[When to Use]( when to use)
[Quick Start]( quick start)
[Reference Guides]( reference guides)
[Best Practices]( best practices)
Overview
Create comprehensive GitLab CI/CD pipelines that automate building, testing, and deployment using GitLab Runner infrastructure and container execution.
When to Use
GitLab repository CI/CD setup
Multi stage build pipelines
Docker registry integration
Kubernetes deployment
Review app deployment
Cache optimization
Dependency management
Quick Start
Minimal working example:
Reference Guides
Detailed implementations in the references/ directory:
Guide Contents
[Complete Pipeline Configuration](references/complete pipeline configuration.md) Complete Pipeline Configuration
[GitLab Runner Configuration](references/gitlab runner configuration.md) GitLab Runner Configuration
[Docker Layer Caching Optimization](references/docker layer caching optimization.md) Docker Layer Caching Optimization
[Multi Project Pipeline](references/multi project pipeline.md) Multi Project Pipeline
[Kubernetes Deployment](references/kubernetes deployment.md) Kubernetes Deployment, Performance Testing Stage, Release Pipeline with Semantic Versioning
Best Practices
✅ DO
Use stages to organize pipeline flow
Implement caching for dependencies
Use artifacts for test reports
Set appropriate cache keys
Implement conditional execution with only and except
Use needs: for job dependencies
Clean up artifacts with expire in
Use Docker for consistent environments
Implement security scanning stages
Set resource limits for jobs
Use merge request pipelines
❌ DON'T
Run tests serially when parallelizable
Cache everything unnecessarily
Leave large artifacts indefinitely
Store secrets in configuration files
Run privileged Docker without necessity
Skip security scanning
Ignore pipeline failures
Use only: [main] without proper controls