CI/CD — Integration, Delivery & Deployment
本页目录· 10 条
What “continuous” means
CI/CD uses frequent, small changes, automation and feedback to keep software ready for safe release. The objective is not deployment speed alone; it is faster learning with controlled risk.
Three distinct practices
Continuous Integration (CI)
Developers frequently merge small changes into the shared codebase.
- build automatically;
- run tests and quality/security checks;
- give rapid feedback;
- produce a release candidate that can be evaluated.
Continuous Delivery
Every accepted change is automatically packaged and validated in staging/test environments. The product remains deployable, but production release usually requires manual approval.
Continuous Deployment
Every change that passes the required checks is automatically released to production. This demands mature tests, monitoring, acceptance conditions and rollback.
Example pipeline
Commit → lint/static checks → build → unit tests → integration tests → security/dependency scan → package → staging deploy → end-to-end/accessibility checks → approval → production → smoke test → monitor
The pipeline is an executable quality policy. A green pipeline means only that its checks passed; missing checks remain invisible risk.
Feedback and risk controls
- Keep changes small so failures are easier to isolate.
- Use version control as the source of truth for code and configuration.
- Protect secrets and restrict deployment permissions.
- Require peer review or approvals where impact warrants it.
- Keep production-like test environments.
- Monitor logs, performance and user outcomes after release.
- Define rollback and recovery before deployment.
- Track flaky tests and pipeline bypasses as defects.
Delivery vs deployment decision
Choose Continuous Delivery when legal, safety, stakeholder or operational control requires an explicit release decision. Choose Continuous Deployment only where automated evidence and recovery make unattended production release acceptable.
FIT5120 minimum evidence
- Reproducible build/setup.
- Automated checks linked to the Definition of Done.
- Staging or controlled preview environment.
- Versioned configuration and dependency information.
- Deployment/rollback steps.
- Monitoring or smoke-test evidence.
- Pipeline diagram and ownership in the Maintenance Document.