Files
nexus/wiki/concepts/CI-CD-Pipeline.md
2026-04-21 20:03:06 +08:00

2.1 KiB

CI/CD Pipeline

Definition

CI/CD (Continuous Integration/Continuous Delivery/Deployment) pipelines automate the process of building, testing, and deploying software changes.

Components

Continuous Integration (CI)

  • Automated builds on code commits
  • Automated testing (unit, integration, e2e)
  • Code quality checks and linting
  • Artifact generation

Continuous Delivery (CD)

  • Automated deployment to staging environments
  • Manual approval gates for production
  • Configuration management

Continuous Deployment

  • Fully automated deployment to production
  • Feature flags for gradual rollout
  • Automated rollback capabilities

Tools

  • CI/CD Platforms: Jenkins, GitLab CI, GitHub Actions, CircleCI, ArgoCD
  • Build Tools: Maven, Gradle, npm, Docker
  • Testing: JUnit, PyTest, Selenium, Playwright

Best Practices

  1. Keep the pipeline fast (under 10 minutes)
  2. Fail fast — run fastest tests first
  3. Use meaningful commit messages and branch names
  4. Implement proper caching strategies
  5. Store build artifacts securely
  6. Enable parallel test execution

CI/CD Pipeline Across DevOps Maturity Levels

Maturity Pipeline Maturity
Phase 1 No CI/CD — manual builds, manual testing, milestone-based releases
Phase 2 Basic version control, some automation for risk reduction, unit/integration/E2E tests
Phase 3 Automated infrastructure provisioning, security scans in CI, more frequent deployments
Phase 4 Continuous integration pipeline, immutable infrastructure managed through pipelines, performance testing
Phase 5 Zero human intervention, real-time data-driven decisions, multiple daily deployments

Sources

Ingested

  • Date: 2026-04-21
  • Date: 2026-04-24 (updated with maturity level progression)