CI/CD 持续集成指南
CI/CD(持续集成/持续部署)是现代软件开发的核心实践,通过自动化流水线提升交付效率。
持续集成(CI)
Section titled “持续集成(CI)”开发人员频繁地将代码合并到主干,每次合并都通过自动化构建和测试来验证。
CI 的核心价值
Section titled “CI 的核心价值”- 尽早发现错误:每次提交都触发自动测试
- 减少集成痛苦:小步提交,频繁合并
- 保障代码质量:自动化 lint、测试、安全扫描
持续部署(CD)
Section titled “持续部署(CD)”通过自动化流水线,将通过测试的代码自动部署到生产环境。
| 策略 | 描述 | 适用场景 |
|---|---|---|
| 滚动更新 | 逐步替换旧版本 | 大多数 Web 应用 |
| 蓝绿部署 | 两个环境切换 | 关键业务系统 |
| 0 停机 | ||
| 金丝雀发布 | 小比例灰度 | 风险较高的变更 |
流水线示例(GitHub Actions)
Section titled “流水线示例(GitHub Actions)”name: CI/CD Pipelineon: push: branches: [main]jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 20 - run: npm ci - run: npm test - run: npm run build - uses: actions/deploy@v1 with: app-name: my-app- CI 平台:GitHub Actions、GitLab CI、Jenkins
- 代码质量:SonarQube、ESLint
- 制品管理:Artifactory、Docker Registry
- 部署:ArgoCD、Spinnaker