多项目共享QA/Prod环境下,Copado部署流程从GitHub迁移至Azure DevOps
Salesforce项目从GitHub迁移至Azure DevOps的落地方案
一、分支策略重构(核心对齐需求)
- 每个Azure DevOps项目仅保留对应开发沙箱的分支:
- 项目专属分支:
dev(对应开发沙箱的集成分支)、feature/*(该项目的功能开发分支),彻底删除其他项目的晋升/功能分支。 - 共享环境分支:单独创建一个Azure DevOps共享项目仓库,统一存放
staging、prod分支,所有项目的代码都通过拉取请求(PR)合并到这里,实现Staging/Production环境的一致性。
- 项目专属分支:
- 分支流转规则:项目功能分支→项目dev分支(部署到对应开发沙箱)→PR合并到共享仓库staging分支(部署到Staging沙箱)→PR合并到共享仓库prod分支(部署到Production组织)。
二、现有Azure Git仓库修正操作
- 清理项目仓库冗余分支
- 本地克隆目标项目仓库:
git clone <项目仓库URL> - 查看所有分支:
git branch -a - 删除本地冗余分支:
git branch -D <冗余分支名> - 删除远程冗余分支:
git push origin --delete <冗余分支名> - 重复上述步骤,确保每个项目仓库仅保留自身开发相关分支。
- 本地克隆目标项目仓库:
- 重建共享环境仓库
- 在Azure DevOps中新建共享项目及Git仓库,将GitHub原有的
staging、prod分支迁移过来:git clone <GitHub原仓库URL> git checkout staging git remote add azure <Azure共享仓库URL> git push azure staging git checkout prod git push azure prod - 若之前已错误将共享分支分散到各项目仓库,可从对应仓库拉取分支后推送到共享仓库,再删除项目仓库中的共享分支。
- 在Azure DevOps中新建共享项目及Git仓库,将GitHub原有的
三、Copado集成适配调整
- 项目开发沙箱部署配置:每个项目的Copado部署任务关联对应Azure DevOps项目仓库的
dev分支,当dev分支有代码提交时,自动触发对应开发沙箱的元数据部署。 - 共享环境部署配置:Copado连接Azure共享仓库,配置
staging分支触发Staging沙箱部署,prod分支触发Production组织部署;同时设置PR审批规则:只有通过代码评审、单元测试的项目代码,才能合并到共享仓库的staging分支。 - 跨环境晋升管控:在Copado中设置从Staging到Production的部署审批流程,必须经过QA验证通过后,才能执行Prod环境的部署。
四、长期维护规范
- 分支命名强制规则:功能分支统一格式为
feature/[项目标识]-[功能描述](如feature/ProjectB-OrderManagement),避免分支混淆。 - 权限隔离:每个项目仓库仅对对应项目团队开放读写权限;共享仓库仅允许运维、QA团队操作
staging、prod分支,其他团队仅能提交PR。 - 定期分支清理:每月排查所有仓库的废弃分支(超过30天无更新的功能分支),统一删除,保持仓库整洁。
内容的提问来源于stack exchange,提问作者code234
相关产品推荐
相关产品推荐

