docker 形象推广策略

iqjalb3h  于 2023-01-16  发布在  Docker
关注(0)|答案(1)|浏览(122)

如何使用“开发”映像处理映像提升?
与其他许多公司一样,我们有三种部署环境-开发、试运行和生产。
Stage总是跟踪最新的母版,当Github中标记了发布版本时,就会触发生产部署。在Stage和生产之间升级图像非常容易。
在我们的例子中,开发映像是基于拉取请求构建的,但是PR后面的分支很有可能是master后面的一些提交,所以通过等级提升这个映像会导致过时的代码最终出现在舞台上和生产中。
这里的典型做法是什么?开发映像是否单独保存在一个单独的映像库中,并且从不与舞台/生产映像混合?是否有我所缺少的提升它们的方法?

46scxncf

46scxncf1#

Stage总是跟踪最新的母版,并且当Github中标记了发布版本时,就会触发生产部署
在我们的例子中,开发映像是基于拉取请求构建的,但是PR后面的分支很有可能是master后面的一些提交
这让我有点困惑,我喜欢保持简单,并且我通常主张每个环境一个分支。
在这种情况下,我建议您使用以下分支:

  • 发展
  • 生产

这将允许你一次渐进地对一个环境进行修改,所以首先你要把你的修改推送到dev分支,如果成功了,你就把同样的修改推送到staging分支;同样的,如果变更在暂存中成功,你可以将变更推送到生产中。2推送到分支可以也应该通过合并请求来完成。
每一个分支都有自己的管道,它将构建、测试并发布映像到环境特定的注册表中。在不同的环境中保持注册表分离似乎有些过分,但当涉及到权限管理时,它会让你的生活变得更容易。
每个环境有一个分支还有一个额外的好处,那就是您可以限制对某些分支的访问,例如,每个人都应该能够合并到dev,但不是每个人都应该能够合并到prod。

相关问题