CI/CD Pipelines - Comprehensive DevOps Skill
A unified skill for CI/CD pipeline design, DevOps automation, infrastructure as code, GitOps deployment automation, security scanning, and enterprise pipeline readiness across major platforms.
When to Use This Skill
Use this skill when:
CI/CD Pipeline Development
- Creating new CI/CD workflows (GitHub Actions, GitLab CI, Jenkins)
- Debugging pipeline failures or flaky tests
- Optimizing slow builds or test suites
- Implementing caching strategies
- Setting up deployment workflows
- Implementing matrix builds or test sharding
- Configuring multi-environment deployments
DevSecOps & Security
- Securing pipelines (secrets, OIDC, supply chain)
- Implementing security scanning (SAST, DAST, SCA)
- Container image vulnerability scanning inside a pipeline
- Secret detection and management
- Enterprise readiness assessment (OpenSSF compliance)
Infrastructure as Code
- Terraform module development
- CloudFormation/CDK templates
- Deploying Kubernetes manifests and Helm charts from CI/CD
- GitOps workflows (ArgoCD, Flux)
Container Pipeline Integration
- Building and signing container images from an existing Dockerfile
- Publishing to registries from CI/CD
- Scanning container images with tools such as Trivy or Snyk
- Deploying containerized services through GitOps
For Dockerfile design, Docker Compose, local container environments, or container runtime architecture, switch to docker-containerization.
Release Management
- Semantic versioning automation
- Changelog generation
- GitHub/GitLab release creation
- Artifact signing and provenance
Quick Start
1. Creating a New Pipeline
Decision tree:
What are you building?
+-- Node.js/Frontend --> templates/github-actions/node-ci.yml | templates/gitlab-ci/node-ci.yml
+-- Python --> templates/github-actions/python-ci.yml | templates/gitlab-ci/python-ci.yml
+-- Go --> templates/github-actions/go-ci.yml | templates/gitlab-ci/go-ci.yml
+-- Container image pipeline --> templates/github-actions/docker-build.yml | templates/gitlab-ci/docker-build.yml
+-- Security Scanning --> templates/github-actions/security-scan.yml | templates/gitlab-ci/security-scan.yml
Basic pipeline structure:
# 1. Fast feedback (lint, format) - <1 min
# 2. Unit tests - 1-5 min
# 3. Integration tests - 5-15 min
# 4. Build artifacts
# 5. E2E tests (optional, main branch only) - 15-30 min
# 6. Deploy (with approval gates)
2. Optimizing Pipeline Performance
Quick wins checklist:
Analyze existing pipeline:
# Use the pipeline analyzer script
python3 scripts/pipeline_analyzer.py --platform github --workflow .github/workflows/ci.yml
3. Securing Your Pipeline
Essential security checklist:
OIDC Authentication (GitHub Actions to AWS):
permissions:
id-token: write
contents: read
steps:
- uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: arn:aws:iam::123456789:role/GitHubActionsRole
aws-region: us-east-1
Core Capabilities
| Domain |
Tools & Technologies |
| CI/CD Platforms |
GitHub Actions, GitLab CI, Jenkins |
| Infrastructure as Code |
Terraform, AWS CDK, CloudFormation, Pulumi |
| Container Pipeline Integration |
Image build/publish steps, Trivy/Snyk scanning, Cosign signing, Kubernetes/Helm deploy jobs |
| GitOps |
ArgoCD, Flux |
| Security Scanning |
CodeQL, Semgrep, Trivy, Snyk, TruffleHog |
| Cloud Platforms |
AWS, Azure, GCP, Cloudflare |
| Release Artifacts & Provenance |
Cosign, SLSA, signed tags, reproducible build checks |
Architecture Patterns
CI/CD Pipeline Flow
Code Commit --> Build --> Test --> Security Scan --> Package
|
Monitor <-- Release Staging <-- Smoke Tests <-- Deploy Dev
|
Manual Approval
|
Deploy Production
GitOps Architecture
App Repo --CI--> Config Repo --ArgoCD--> K8s Cluster
^ |
+----Continuous Sync-----+
Reference Documentation
CI/CD & Pipeline Design
references/best_practices.md - Pipeline design patterns, testing strategies, deployment workflows
references/optimization.md - Caching strategies, parallelization, build performance
references/troubleshooting.md - Common issues, debugging, platform-specific problems
references/cicd-github-actions.md - GitHub Actions workflows, runners, secrets
Security & DevSecOps
references/security.md - Secrets management, OIDC, supply chain security
references/devsecops.md - SAST, DAST, SCA, container scanning guide
references/devsecops-basics.md - Security best practices, shift-left security
references/security-hardening.md - TLS enforcement, input validation, headers
Infrastructure & Cloud Platforms
references/terraform-eks-module.tf - Production EKS cluster Terraform
references/kubernetes-deployment.yaml - Example manifest deployed by pipelines
references/kubernetes-basics.md - Kubernetes concepts needed to understand deployment jobs
references/docker-basics.md - Pipeline-adjacent container concepts; use docker-containerization for Dockerfile design
references/docker-compose.md - Pipeline-adjacent compose references; use docker-containerization for local container environments
references/aws-overview.md - AWS fundamentals, IAM, services
references/gcloud-platform.md - GCP overview, gcloud CLI
references/cloudflare-workers-basics.md - Edge computing, Workers
Enterprise Readiness
references/general.md - Universal enterprise readiness checks
references/github.md - GitHub-specific enterprise requirements
references/openssf-badge-silver.md - Silver badge criteria
references/openssf-badge-gold.md - Gold badge criteria
references/signed-releases.md - Artifact and tag signing
references/reproducible-builds.md - Deterministic build patterns
Release Artifact References
references/signed-releases.md - Artifact and tag signing
references/reproducible-builds.md - Deterministic build patterns
Templates
GitHub Actions
| Template |
Description |
templates/github-actions/node-ci.yml |
Complete Node.js CI/CD with security scanning |
templates/github-actions/python-ci.yml |
Python pipeline with pytest, coverage, PyPI |
templates/github-actions/go-ci.yml |
Go pipeline with multi-platform builds |
templates/github-actions/docker-build.yml |
Docker build with multi-platform, signing |
templates/github-actions/security-scan.yml |
Comprehensive DevSecOps pipeline |
templates/github-actions/dco-check.yml |
DCO sign-off enforcement |
GitLab CI
| Template |
Description |
templates/gitlab-ci/node-ci.yml |
GitLab CI Node.js pipeline |
templates/gitlab-ci/python-ci.yml |
Python pipeline with parallel testing |
templates/gitlab-ci/go-ci.yml |
Go pipeline with Kubernetes deployment |
templates/gitlab-ci/docker-build.yml |
Docker build with DinD, multi-arch |
templates/gitlab-ci/security-scan.yml |
DevSecOps with GitLab security templates |
Enterprise Templates
| Template |
Description |
templates/GOVERNANCE.md |
Project governance documentation |
templates/ARCHITECTURE.md |
Technical architecture template |
templates/CODE_OF_CONDUCT.md |
Contributor Covenant v2.1 |
templates/SECURITY_AUDIT.md |
Security self-audit template |
Scripts
Pipeline Analysis
| Script |
Description |
scripts/pipeline_analyzer.py |
Analyze workflows for optimization opportunities |
scripts/ci_health.py |
Check pipeline status and identify issues |
scripts/validate-devops-skill.sh |
Validate DevOps configurations |
Security & Compliance
| Script |
Description |
scripts/verify-badge-criteria.sh |
OpenSSF Badge verification |
scripts/check-coverage-threshold.sh |
Statement coverage validation |
scripts/check-branch-coverage.sh |
Branch coverage analysis |
scripts/verify-signed-tags.sh |
Git tag signature verification |
scripts/verify-review-requirements.sh |
PR review requirements check |
scripts/check-tls-minimum.sh |
TLS 1.2+ enforcement check |
scripts/verify-spdx-headers.sh |
SPDX license header verification |
scripts/add-spdx-headers.sh |
Add SPDX headers to files |
Infrastructure
| Script |
Description |
scripts/cloudflare_deploy.py |
Cloudflare Worker deployments |
scripts/docker_optimize.py |
Dockerfile analysis and optimization |
Anti-Patterns
| Anti-Pattern |
Symptom |
Fix |
| YAML copy-paste proliferation |
Identical workflows duplicated across repos |
Reusable workflows, Helm charts, Kustomize bases, Terraform modules |
| Hardcoded secrets in code |
API keys/passwords committed to git |
Secret managers (Vault, AWS SM), sealed secrets, env vars from secure sources |
| No rollback strategy |
No plan for deployment failure |
Blue/green, canary with automated rollback, ArgoCD auto-revert |
| Monolithic CI pipeline |
Single 45-minute pipeline on every commit |
Parallel jobs, caching, incremental builds, path-based triggers |
| Running as root in containers |
No USER instruction, privileged pods |
Add USER instruction, set securityContext.runAsNonRoot: true |
| Using :latest tags |
FROM node:latest in production |
Pin specific versions, use immutable tags with SHA digests |
| Script injection vulnerability |
${{ github.event.* }} directly in run: blocks |
Use environment variables instead (see below) |
| Missing resource limits |
Pods consume unbounded resources |
Set requests and limits for CPU/memory in all deployments |
| Unpinned GitHub Actions |
uses: actions/checkout@v4 without SHA |
Pin to commit SHA: uses: actions/checkout@b4ffde6 |
Script injection fix:
# DANGEROUS
- run: echo "Title: ${{ github.event.issue.title }}"
# SAFE
- name: Process issue
env:
TITLE: ${{ github.event.issue.title }}
run: echo "Title: $TITLE"
Quick Reference Commands
GitHub Actions
gh workflow list # List workflows
gh run list --limit 20 # View recent runs
gh run view <run-id> # View specific run
gh run rerun <run-id> --failed # Re-run failed jobs
gh run view <run-id> --log > logs.txt # Download logs
gh workflow run ci.yml # Trigger workflow manually
GitLab CI
gl project-pipelines list # View pipelines
gl project-pipeline get <id> # Pipeline status
gl project-pipeline retry <id> # Retry failed jobs
gl project-pipeline cancel <id> # Cancel pipeline
Docker
docker build -t myapp . # Build image
docker run -p 3000:3000 myapp # Run container
docker compose up -d # Start multi-container app
docker scout cves myapp # Scan for vulnerabilities
Kubernetes
kubectl apply -f deployment.yaml # Apply manifest
kubectl get pods,services # Check status
kubectl logs -f <pod> # Stream logs
kubectl rollout status deployment/app # Check rollout
Terraform
terraform init # Initialize
terraform plan # Preview changes
terraform apply # Apply changes
terraform state list # List resources
Quality Checklist
[ ] All secrets in secret management (not in code)
[ ] Resource limits defined for all containers
[ ] Health checks configured (liveness, readiness)
[ ] Horizontal pod autoscaling enabled
[ ] Security contexts set (non-root, read-only)
[ ] Monitoring and alerting configured
[ ] Rollback strategy documented
[ ] Multi-environment support (dev, staging, prod)
[ ] Concurrency controls in CI pipelines
[ ] Remote state backend for Terraform
[ ] Vulnerability scanning in pipeline
[ ] Version pinning for all dependencies
[ ] Branch protection enabled
[ ] Code review required before merge
Platform Selection Guide
| Need |
Choose |
| Sub-50ms latency globally |
Cloudflare Workers |
| Serverless functions (AWS) |
AWS Lambda |
| Containerized workloads |
AWS ECS/Fargate, GKE, AKS |
| Kubernetes at scale |
AWS EKS, Azure AKS, GCP GKE |
| Object storage (zero egress) |
Cloudflare R2 |
| Managed SQL |
AWS RDS, Azure SQL, Cloud SQL |
| GitHub-integrated CI/CD |
GitHub Actions |
| Self-hosted CI/CD |
GitLab CI, Jenkins |
| Kubernetes GitOps |
ArgoCD, Flux |
| Predictable workloads |
Reserved Instances, Savings Plans |
| Fault-tolerant workloads |
Spot Instances, Preemptible VMs |
Getting Started
- New pipeline: Start with a template from
templates/
- Add security scanning: Use DevSecOps templates or add security stages
- Optimize existing: Run
scripts/pipeline_analyzer.py
- Debug issues: Check
references/troubleshooting.md
- Improve security: Review
references/security.md and references/devsecops.md
- Enterprise readiness: Follow
references/general.md checklist
- Release notes/versioning: switch to
git-workflow for changelog, semantic version, and commit convention workflows
Source Skills
This curated skill combines content from the following legacy skills (now part of cicd-pipelines):
- Pipeline design, DevSecOps, optimization
- IaC, Kubernetes, deployment automation
- Cloud platforms, Docker, Cloudflare
- Multi-cloud, FinOps, comprehensive DevOps
- OpenSSF compliance, security assessment
- Artifact signing, provenance, and pipeline gates
Resources
1---2name: cicd-pipelines3description: CI/CD pipeline design and DevOps automation — use when the user mentions GitHub Actions, GitLab CI, Jenkins, Terraform, infrastructure as code, DevSecOps, ArgoCD, Kubernetes deployment automation, or pipeline configuration YAML. NOT for release orchestration or semantic-release workflows (use git-workflow), NOT for Docker containers or Dockerfiles (use docker-containerization), NOT for git branching or commits (use git-workflow).4license: MIT5---67# CI/CD Pipelines - Comprehensive DevOps Skill89A unified skill for CI/CD pipeline design, DevOps automation, infrastructure as code, GitOps deployment automation, security scanning, and enterprise pipeline readiness across major platforms.1011## When to Use This Skill1213Use this skill when:1415### CI/CD Pipeline Development16- Creating new CI/CD workflows (GitHub Actions, GitLab CI, Jenkins)17- Debugging pipeline failures or flaky tests18- Optimizing slow builds or test suites19- Implementing caching strategies20- Setting up deployment workflows21- Implementing matrix builds or test sharding22- Configuring multi-environment deployments2324### DevSecOps & Security25- Securing pipelines (secrets, OIDC, supply chain)26- Implementing security scanning (SAST, DAST, SCA)27- Container image vulnerability scanning inside a pipeline28- Secret detection and management29- Enterprise readiness assessment (OpenSSF compliance)3031### Infrastructure as Code32- Terraform module development33- CloudFormation/CDK templates34- Deploying Kubernetes manifests and Helm charts from CI/CD35- GitOps workflows (ArgoCD, Flux)3637### Container Pipeline Integration38- Building and signing container images from an existing Dockerfile39- Publishing to registries from CI/CD40- Scanning container images with tools such as Trivy or Snyk41- Deploying containerized services through GitOps4243For Dockerfile design, Docker Compose, local container environments, or container runtime architecture, switch to `docker-containerization`.4445### Release Management46- Semantic versioning automation47- Changelog generation48- GitHub/GitLab release creation49- Artifact signing and provenance5051## Quick Start5253### 1. Creating a New Pipeline5455**Decision tree:**56```57What are you building?58+-- Node.js/Frontend --> templates/github-actions/node-ci.yml | templates/gitlab-ci/node-ci.yml59+-- Python --> templates/github-actions/python-ci.yml | templates/gitlab-ci/python-ci.yml60+-- Go --> templates/github-actions/go-ci.yml | templates/gitlab-ci/go-ci.yml61+-- Container image pipeline --> templates/github-actions/docker-build.yml | templates/gitlab-ci/docker-build.yml62+-- Security Scanning --> templates/github-actions/security-scan.yml | templates/gitlab-ci/security-scan.yml63```6465**Basic pipeline structure:**66```yaml67# 1. Fast feedback (lint, format) - <1 min68# 2. Unit tests - 1-5 min69# 3. Integration tests - 5-15 min70# 4. Build artifacts71# 5. E2E tests (optional, main branch only) - 15-30 min72# 6. Deploy (with approval gates)73```7475### 2. Optimizing Pipeline Performance7677**Quick wins checklist:**78- [ ] Add dependency caching (50-90% faster builds)79- [ ] Remove unnecessary `needs` dependencies80- [ ] Add path filters to skip unnecessary runs81- [ ] Use `npm ci` instead of `npm install`82- [ ] Add job timeouts to prevent hung builds83- [ ] Enable concurrency cancellation for duplicate runs8485**Analyze existing pipeline:**86```bash87# Use the pipeline analyzer script88python3 scripts/pipeline_analyzer.py --platform github --workflow .github/workflows/ci.yml89```9091### 3. Securing Your Pipeline9293**Essential security checklist:**94- [ ] Use OIDC instead of static credentials95- [ ] Pin actions/includes to commit SHAs96- [ ] Use minimal permissions97- [ ] Enable secret scanning98- [ ] Add vulnerability scanning (dependencies, containers)99- [ ] Implement branch protection100- [ ] Separate test from deploy workflows101102**OIDC Authentication (GitHub Actions to AWS):**103```yaml104permissions:105 id-token: write106 contents: read107108steps:109 - uses: aws-actions/configure-aws-credentials@v4110 with:111 role-to-assume: arn:aws:iam::123456789:role/GitHubActionsRole112 aws-region: us-east-1113```114115## Core Capabilities116117| Domain | Tools & Technologies |118|--------|---------------------|119| **CI/CD Platforms** | GitHub Actions, GitLab CI, Jenkins |120| **Infrastructure as Code** | Terraform, AWS CDK, CloudFormation, Pulumi |121| **Container Pipeline Integration** | Image build/publish steps, Trivy/Snyk scanning, Cosign signing, Kubernetes/Helm deploy jobs |122| **GitOps** | ArgoCD, Flux |123| **Security Scanning** | CodeQL, Semgrep, Trivy, Snyk, TruffleHog |124| **Cloud Platforms** | AWS, Azure, GCP, Cloudflare |125| **Release Artifacts & Provenance** | Cosign, SLSA, signed tags, reproducible build checks |126127## Architecture Patterns128129### CI/CD Pipeline Flow130```131Code Commit --> Build --> Test --> Security Scan --> Package132 |133Monitor <-- Release Staging <-- Smoke Tests <-- Deploy Dev134 |135 Manual Approval136 |137 Deploy Production138```139140### GitOps Architecture141```142App Repo --CI--> Config Repo --ArgoCD--> K8s Cluster143 ^ |144 +----Continuous Sync-----+145```146147## Reference Documentation148149### CI/CD & Pipeline Design150- `references/best_practices.md` - Pipeline design patterns, testing strategies, deployment workflows151- `references/optimization.md` - Caching strategies, parallelization, build performance152- `references/troubleshooting.md` - Common issues, debugging, platform-specific problems153- `references/cicd-github-actions.md` - GitHub Actions workflows, runners, secrets154155### Security & DevSecOps156- `references/security.md` - Secrets management, OIDC, supply chain security157- `references/devsecops.md` - SAST, DAST, SCA, container scanning guide158- `references/devsecops-basics.md` - Security best practices, shift-left security159- `references/security-hardening.md` - TLS enforcement, input validation, headers160161### Infrastructure & Cloud Platforms162- `references/terraform-eks-module.tf` - Production EKS cluster Terraform163- `references/kubernetes-deployment.yaml` - Example manifest deployed by pipelines164- `references/kubernetes-basics.md` - Kubernetes concepts needed to understand deployment jobs165- `references/docker-basics.md` - Pipeline-adjacent container concepts; use `docker-containerization` for Dockerfile design166- `references/docker-compose.md` - Pipeline-adjacent compose references; use `docker-containerization` for local container environments167- `references/aws-overview.md` - AWS fundamentals, IAM, services168- `references/gcloud-platform.md` - GCP overview, gcloud CLI169- `references/cloudflare-workers-basics.md` - Edge computing, Workers170171### Enterprise Readiness172- `references/general.md` - Universal enterprise readiness checks173- `references/github.md` - GitHub-specific enterprise requirements174- `references/openssf-badge-silver.md` - Silver badge criteria175- `references/openssf-badge-gold.md` - Gold badge criteria176- `references/signed-releases.md` - Artifact and tag signing177- `references/reproducible-builds.md` - Deterministic build patterns178179### Release Artifact References180- `references/signed-releases.md` - Artifact and tag signing181- `references/reproducible-builds.md` - Deterministic build patterns182183## Templates184185### GitHub Actions186| Template | Description |187|----------|-------------|188| `templates/github-actions/node-ci.yml` | Complete Node.js CI/CD with security scanning |189| `templates/github-actions/python-ci.yml` | Python pipeline with pytest, coverage, PyPI |190| `templates/github-actions/go-ci.yml` | Go pipeline with multi-platform builds |191| `templates/github-actions/docker-build.yml` | Docker build with multi-platform, signing |192| `templates/github-actions/security-scan.yml` | Comprehensive DevSecOps pipeline |193| `templates/github-actions/dco-check.yml` | DCO sign-off enforcement |194195### GitLab CI196| Template | Description |197|----------|-------------|198| `templates/gitlab-ci/node-ci.yml` | GitLab CI Node.js pipeline |199| `templates/gitlab-ci/python-ci.yml` | Python pipeline with parallel testing |200| `templates/gitlab-ci/go-ci.yml` | Go pipeline with Kubernetes deployment |201| `templates/gitlab-ci/docker-build.yml` | Docker build with DinD, multi-arch |202| `templates/gitlab-ci/security-scan.yml` | DevSecOps with GitLab security templates |203204### Enterprise Templates205| Template | Description |206|----------|-------------|207| `templates/GOVERNANCE.md` | Project governance documentation |208| `templates/ARCHITECTURE.md` | Technical architecture template |209| `templates/CODE_OF_CONDUCT.md` | Contributor Covenant v2.1 |210| `templates/SECURITY_AUDIT.md` | Security self-audit template |211212## Scripts213214### Pipeline Analysis215| Script | Description |216|--------|-------------|217| `scripts/pipeline_analyzer.py` | Analyze workflows for optimization opportunities |218| `scripts/ci_health.py` | Check pipeline status and identify issues |219| `scripts/validate-devops-skill.sh` | Validate DevOps configurations |220221### Security & Compliance222| Script | Description |223|--------|-------------|224| `scripts/verify-badge-criteria.sh` | OpenSSF Badge verification |225| `scripts/check-coverage-threshold.sh` | Statement coverage validation |226| `scripts/check-branch-coverage.sh` | Branch coverage analysis |227| `scripts/verify-signed-tags.sh` | Git tag signature verification |228| `scripts/verify-review-requirements.sh` | PR review requirements check |229| `scripts/check-tls-minimum.sh` | TLS 1.2+ enforcement check |230| `scripts/verify-spdx-headers.sh` | SPDX license header verification |231| `scripts/add-spdx-headers.sh` | Add SPDX headers to files |232233### Infrastructure234| Script | Description |235|--------|-------------|236| `scripts/cloudflare_deploy.py` | Cloudflare Worker deployments |237| `scripts/docker_optimize.py` | Dockerfile analysis and optimization |238239## Anti-Patterns240241| Anti-Pattern | Symptom | Fix |242|-------------|---------|-----|243| YAML copy-paste proliferation | Identical workflows duplicated across repos | Reusable workflows, Helm charts, Kustomize bases, Terraform modules |244| Hardcoded secrets in code | API keys/passwords committed to git | Secret managers (Vault, AWS SM), sealed secrets, env vars from secure sources |245| No rollback strategy | No plan for deployment failure | Blue/green, canary with automated rollback, ArgoCD auto-revert |246| Monolithic CI pipeline | Single 45-minute pipeline on every commit | Parallel jobs, caching, incremental builds, path-based triggers |247| Running as root in containers | No USER instruction, privileged pods | Add USER instruction, set `securityContext.runAsNonRoot: true` |248| Using :latest tags | `FROM node:latest` in production | Pin specific versions, use immutable tags with SHA digests |249| Script injection vulnerability | `${{ github.event.* }}` directly in `run:` blocks | Use environment variables instead (see below) |250| Missing resource limits | Pods consume unbounded resources | Set requests and limits for CPU/memory in all deployments |251| Unpinned GitHub Actions | `uses: actions/checkout@v4` without SHA | Pin to commit SHA: `uses: actions/checkout@b4ffde6` |252253**Script injection fix:**254```yaml255# DANGEROUS256- run: echo "Title: ${{ github.event.issue.title }}"257258# SAFE259- name: Process issue260 env:261 TITLE: ${{ github.event.issue.title }}262 run: echo "Title: $TITLE"263```264265## Quick Reference Commands266267### GitHub Actions268```bash269gh workflow list # List workflows270gh run list --limit 20 # View recent runs271gh run view <run-id> # View specific run272gh run rerun <run-id> --failed # Re-run failed jobs273gh run view <run-id> --log > logs.txt # Download logs274gh workflow run ci.yml # Trigger workflow manually275```276277### GitLab CI278```bash279gl project-pipelines list # View pipelines280gl project-pipeline get <id> # Pipeline status281gl project-pipeline retry <id> # Retry failed jobs282gl project-pipeline cancel <id> # Cancel pipeline283```284285### Docker286```bash287docker build -t myapp . # Build image288docker run -p 3000:3000 myapp # Run container289docker compose up -d # Start multi-container app290docker scout cves myapp # Scan for vulnerabilities291```292293### Kubernetes294```bash295kubectl apply -f deployment.yaml # Apply manifest296kubectl get pods,services # Check status297kubectl logs -f <pod> # Stream logs298kubectl rollout status deployment/app # Check rollout299```300301### Terraform302```bash303terraform init # Initialize304terraform plan # Preview changes305terraform apply # Apply changes306terraform state list # List resources307```308309## Quality Checklist310311```312[ ] All secrets in secret management (not in code)313[ ] Resource limits defined for all containers314[ ] Health checks configured (liveness, readiness)315[ ] Horizontal pod autoscaling enabled316[ ] Security contexts set (non-root, read-only)317[ ] Monitoring and alerting configured318[ ] Rollback strategy documented319[ ] Multi-environment support (dev, staging, prod)320[ ] Concurrency controls in CI pipelines321[ ] Remote state backend for Terraform322[ ] Vulnerability scanning in pipeline323[ ] Version pinning for all dependencies324[ ] Branch protection enabled325[ ] Code review required before merge326```327328## Platform Selection Guide329330| Need | Choose |331|------|--------|332| **Sub-50ms latency globally** | Cloudflare Workers |333| **Serverless functions (AWS)** | AWS Lambda |334| **Containerized workloads** | AWS ECS/Fargate, GKE, AKS |335| **Kubernetes at scale** | AWS EKS, Azure AKS, GCP GKE |336| **Object storage (zero egress)** | Cloudflare R2 |337| **Managed SQL** | AWS RDS, Azure SQL, Cloud SQL |338| **GitHub-integrated CI/CD** | GitHub Actions |339| **Self-hosted CI/CD** | GitLab CI, Jenkins |340| **Kubernetes GitOps** | ArgoCD, Flux |341| **Predictable workloads** | Reserved Instances, Savings Plans |342| **Fault-tolerant workloads** | Spot Instances, Preemptible VMs |343344## Getting Started3453461. **New pipeline**: Start with a template from `templates/`3472. **Add security scanning**: Use DevSecOps templates or add security stages3483. **Optimize existing**: Run `scripts/pipeline_analyzer.py`3494. **Debug issues**: Check `references/troubleshooting.md`3505. **Improve security**: Review `references/security.md` and `references/devsecops.md`3516. **Enterprise readiness**: Follow `references/general.md` checklist3527. **Release notes/versioning**: switch to `git-workflow` for changelog, semantic version, and commit convention workflows353354## Source Skills355356This curated skill combines content from the following legacy skills (now part of `cicd-pipelines`):357- Pipeline design, DevSecOps, optimization358- IaC, Kubernetes, deployment automation359- Cloud platforms, Docker, Cloudflare360- Multi-cloud, FinOps, comprehensive DevOps361- OpenSSF compliance, security assessment362- Artifact signing, provenance, and pipeline gates363364## Resources365366- **GitHub Actions**: https://docs.github.com/actions367- **GitLab CI**: https://docs.gitlab.com/ee/ci/368- **Terraform**: https://developer.hashicorp.com/terraform369- **Kubernetes**: https://kubernetes.io/docs370- **ArgoCD**: https://argo-cd.readthedocs.io371- **OpenSSF Scorecard**: https://securityscorecards.dev/372- **SLSA Framework**: https://slsa.dev/373374375