环境与分支映射

我们的流水线围绕两类环境搭建:

  • develop 对应测试与联调环境,合并即自动部署。
  • master 搭配语义化版本标签,用于生产发布。

这样可以保证开发节奏稳定,同时让发布动作有明确的入口。

一次功能上线的节奏

  1. 从 develop 开分支:命名遵循 feat/日期-功能点 的格式,例如 feat/20251010-user-login
  2. 本地提交:保持小步快跑,每次 commit 只包含一个意图。
  3. 推送与创建 PR:目标分支为 develop,PR 创建后自动触发 CI。

CI 阶段的检查项:

- 构建项目(Build)
- 代码质量 / Lint
- 单元测试

任何一步失败都会阻断合并,这样评审者能聚焦在业务逻辑上。

合并 develop 后的 CD

PR 通过评审并执行 “Rebase and merge” 后,自动化流程会:

  1. 构建镜像(例如 my-app:dev)。
  2. 推送至镜像仓库。
  3. 通过 SSH 或脚本部署到测试服务器。

几分钟后就能在联调环境验证实际效果。如果有多服务联动,可以在这里完成前后端互测。

面向生产的发布流程

当测试环境验收完毕,管理员会:

  1. develop 合并入 master,并使用 “Squash and merge” 保持整洁历史。
  2. 在最新 commit 上创建语义化标签,比如 v1.2.0
  3. 推送标签到远端,触发生产流水线。

流水线脚本会读取标签并执行:

git checkout master
git pull origin master
git tag -a v1.2.0 -m "Release v1.2.0"
git push origin v1.2.0

随后:

  • 以标签号构建产物(Docker 镜像、压缩包等)。
  • 将镜像推送到仓库,并部署到生产服务器。
  • 部署完成后发送通知,提醒团队做回归验证。

上线前后的检查清单

  • 配置文件是否已切换到生产参数。
  • 数据库迁移脚本是否执行并校验成功。
  • 监控与告警规则是否覆盖新功能。
  • 发布后 30 分钟内安排排班确认关键链路。

总结

这套流程的关键点在于:分支与环境一一对应、CI 严格把关代码质量、生产发布必须绑定标签。保持节奏稳定后,团队能更大胆地做持续交付,而不是把风险堆到月底的大版本里。