如何设置github / jenkins以便$ branch始终完全被验证?

时间:2017-03-02 22:20:59

标签: github jenkins continuous-integration

我们目前的工作流程大致如下:

  1. 创建新PR以将$ branch合并到$ release
  2. jenkins / travis /所有测试通过的任何检查;获得验证的提交是将$ branch合并到$ release-at-time-A
  3. 代码审核通过后合并PR;合并的提交是$ branch到$ release-at-time-B
  4. 的合并

    现在,因为合并时间B晚于验证时间A,在此期间几乎任何事情都可能发生在$ release中。 Iff $ branch在此期间没有改变一切都很好但是如果确实改变了,那么合并提交就是从未被检查过的东西,可以完全破坏(在那里,看到了。 )

    有没有办法设置github / jenkins,以便jenkins / what验证的确切提交成为分支的新HEAD而不做任何更改?这个想法是$ branch总是与检查完全一样?提交消息的普通更新很好,但合并父级的更改不是。

1 个答案:

答案 0 :(得分:0)

确实,当多个开发人员正在开发“发布”分支时,这是许多人面临的问题。我认为这样的方式比詹金斯更适合Git。

这是Github可以通过他们为其分支保护添加的强大功能提供帮助的地方:enter image description here

检查“要求分支在合并前更新”将不允许将此分支合并到$ release-at-time-A,因为它不是最新的(因为我们现在在$ release-at-time-B)。

这迫使开发人员首先针对$ release-at-time-B和git push进行gase rebase,大概是(如果你正在使用Jenkins GitHub pull request builder plugin)将再次运行PR测试。 / p>

我希望这有道理并以某种方式帮助你。