Bitbucket管道和持续交付工作流程

时间:2017-04-04 09:27:35

标签: git continuous-integration bitbucket continuous-deployment bitbucket-pipelines

我正在尝试为我们公司设置持续交付,并对如何做到这一点产生怀疑。

目标

目标是在每次更新主服务器时构建并在staging上进行部署。

下一步将是拥有一些界面,以便项目经理可以验证登台并触发部署到客户端登台,然后客户端验证并触发部署到生产。

我认为应该做什么

构建和测试(持续集成)工作正常。

但是为了进行交付跟踪,我认为我应该有一个分支“暂存”,我会进行构建然后推送。

问题

当我这样做时,我最终在我的分支上发生冲突“暂存”:如果两个管道并行工作,一个在另一个之前结束,第二个将无法推送,因为git将告诉“更新被拒绝因为遥控器包含你本地没有的工作。这通常是由另一个存储库推送......“。

我感觉不对;)

我可以做一个推力,但感觉我正在以错误的方式做事。

您对这种情况有什么建议?

1 个答案:

答案 0 :(得分:0)

你有什么本质上是一个锁定问题。我见过的最好的解决方案是,当它失败时,它会立即再次启动。当它这样做时,'git pull'它会有所不同(因为另一个分支的成功导致'staging'改变它的HEAD),然后它将合并分支并再次运行测试并尝试推送。 ..如果它失败了它会重复,但如果它成功,那就完成了。