我正在评估使用Gitlab流程生成分支的可能性,如下所示: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/workflow/gitlab_flow.md#production-branch-with-gitlab-flow
以下是关于我们设置的一些观点:
所以我们假设我几天前从master那里创建了一个生产分支。
X1--X2--X3(master)
|
(prod)
在此之后,Ann和Barry提出了两个已被接受的合并请求
X1--X2--X3--A1--A1--A3-Am--B1-B2-Bm(master)
|
(prod)
Am和Bm代表Ann和Barry的单独合并提交
现在测试人员测试并确定Ann的变化。 现在我必须将Ann的承诺转移到生产中。什么是最好的方式?最重要的是,我的意思是:开发人员和管理员的最小努力。理想情况下,我会考虑采取Am并将其合并到生产中,但Gitlab只给我一个挑选选项而不是完全合并。 像这样:
X1--X2--X3--A1--A1--A3-Am--B1-B2-Bm(master)
|
(prod)
或者这个
X1--X2--X3--A1--A1--A3--Am--B1-B2-Bm(master)
|
X3'-A1'-A1'-A3'-Am'(prod)
现在让我回顾一下这个场景。测试人员在Ann的代码中发现了一个错误,并要求修复。 Ann做到了,测试人员确定了解决方案。
X1--X2--X3--A1--A1--A3--Am--B1--B2--Bm--A4--Am2(master)
现在我想采取
X1--X2--X3--A1--A1--A3--Am--B1--B2--Bm--A4--Am2(master)
|
X3'-A1'-A1'-A3'-Am'-A4'-Am2'(prod)
下一个测试人员确定Barry的代码,以便我将barry的变更合并到生产中
X1--X2--X3--A1--A1--A3--Am--B1--B2--Bm--A4--Am2(master)
|
X3'-A1'-A1'-A3'-Am'-A4'-Am2'--B1'--B2'--Bm'(prod)
这是可行的,甚至是实用的吗? 跟踪待处理/缺失生产变更的最佳方法是什么?我想使用Gitlabs" X承诺在大师后面#34;用于跟踪此功能(例如,在冲刺结束时,如果Im 0提交,则表示我在此冲刺中有所有更改)。或者有更好的方法吗?
很抱歉,如果我的问题看起来过于宽泛,但我真的感到困惑和迷失。感谢任何可以让我的生活更轻松的指导。
答案 0 :(得分:2)
我对gitlab prod工作流程有同样的反思 用Gitlab CE实现这个工作流似乎很难。
我想这样做:
R1 R2 R3
A---B---C---D---E---F ← master
\
E---F---G ← new-feature
事实是,Gitlab只允许将整个分支主机合并到prod或者cherrypick(坏主意)。
所以我决定使用带有标签的(不完美的)制作工作流程。
{{1}}
希望它会对你有所帮助。