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

62 lines
2.1 KiB
Markdown

# 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
- [[sources/cloud-devop-maturity-guideline.md]]
- [[sources/devops-maturity-model-from-traditional-it-to-advanced-devops.md]]
## Related Concepts
- [[concepts/DevOps-Maturity]]
- [[concepts/Infrastructure-as-Code]]
- [[concepts/DevSecOps]]
- [[concepts/Continuous-Integration]]
- [[concepts/Continuous-Deployment]]
- [[concepts/Change-Failure-Rate]]
## Ingested
- Date: 2026-04-21
- Date: 2026-04-24 (updated with maturity level progression)