Skip to content

CI / CD

CI/CD 是软件开发过程中的两个关键概念,分别是:


🛠 CI(Continuous Integration,持续集成)

CI 的目标是:

  • 频繁地将代码合并到主分支
  • 自动构建、自动测试
  • 尽早发现问题,防止“集成地狱”

🔁 流程示意

开发者提交代码(push) → CI 工具自动构建 → 自动运行测试 → 如果成功则继续流程,如果失败立即反馈

🧰 常用工具

  • Jenkins
  • GitLab CI
  • GitHub Actions
  • Travis CI
  • CircleCI

🚀 CD(有两种解释)

1. Continuous Delivery(持续交付)

持续交付是在 CI 的基础上,实现构建后的自动部署到测试或预生产环境,但需要人工批准才能上线到生产环境

2. Continuous Deployment(持续部署)

持续部署更进一步,构建成功并通过测试后自动部署到生产环境全流程自动化,无需人工干预


🧱 CI/CD 的意义

优点说明
✅ 提高开发效率每次提交自动测试和集成,避免手动流程
✅ 提高代码质量自动测试减少人为错误
✅ 快速交付支持敏捷开发和快速迭代
✅ 快速回滚自动化流程更容易追踪和回退问题版本

📦 一个完整的 CI/CD 流水线可能包括

text
开发 → Git 提交 → 自动构建(CI) → 自动测试 → 自动打包 → 自动部署(CD) → 线上发布

📌 举个简单例子(GitLab CI)

yaml
# .gitlab-ci.yml
stages:
  - build
  - test
  - deploy

build:
  stage: build
  script: npm run build

test:
  stage: test
  script: npm run test

deploy:
  stage: deploy
  script: bash deploy.sh

当你推送代码到 GitLab 仓库,这个 .gitlab-ci.yml 就会被自动执行,实现 CI/CD。