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

问题描述 投票:0回答:1

我正在尝试为我们公司设置持续交付,但对如何做到这一点有疑问。

目标

目标是在每次主版本更新时构建并部署在临时环境中。

下一步将是建立一些接口,以便项目经理可以验证暂存并触发部署到客户端暂存,然后客户端验证并触发部署到生产。

我认为应该做什么

构建和测试(持续集成)运行良好。

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

问题

当我这样做时,我最终会在我的分支“staging”上出现冲突:如果两个管道并行工作,一个管道在另一个管道之前结束,则第二个管道将无法推送,因为 git 会告诉“更新被拒绝,因为远程包含您本地没有的工作。这通常是由另一个存储库推送引起的......”。

我感觉不对

我可以施加推力,但感觉好像我做错了事情。

对于这种情况你有什么建议?

git continuous-integration bitbucket continuous-deployment bitbucket-pipelines
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.