主存储库是所有开发人员签到的地方,让我们说它位于 http://hg.main.com:8000/project
现在,我们还有http://hg.qa.com:8000/project所有LATEST代码需要同步,PLUS测试和其他工件都在此存储库中。如果85%的测试都会通过,那么它只会被“推送”到中央存储库。
答案 0 :(得分:0)
从ilke开始: 审批管理:审计和质量保证
为谁?
如果您需要明确批准的代码历史记录以及使用开发人员团队和单独的QA团队的完整跟踪记录,则此工作流程可能适合您。
要求
你只需要Mercurial(命令行),一个用于交换数据的共享存储库(一个简单的SSH服务器就足够了,就像一个私有的bitbucket存储库一样)和GpgExtension。
流量
此工作流使用默认分支进行开发,以及使用QA命名分支和发布分支。
优点是将默认值合并到QA中需要显式合并,然后由负责它的开发人员进行GPG签名。
当QA完成应用他们的更改时,他们首先合并回默认值(以便开发人员使用QA版本)然后合并到发行版中,GPG签署合并提交。
开发
hg pull # get the latest changes hg update hg commit -m "" hg update -C QA hg merge default hg commit -m "merged default branch for QA" hg sign hg push
QA
hg pull hg update QA hg commit -m "QA fixes" hg update -C default hg merge QA hg ci -m "merged QA fixes back into the development branch" hg update -C release hg merge QA hg commit -m "merged finished QA into release" hg sign
修改
如果您需要的层数不仅仅是开发人员和QA,只需添加其他命名分支,例如在发布之前进行分段发布。
为了确保所有人都真正检查过代码,您可以要求所有头必须经过GnuPG签名才能进入更高级别的存储库。