首页 文章

如何让Jenkins看到Git合并提交作为更改?

提问于
浏览
15

用户A和B各自对特定仓库进行修改(在不同的特征分支上) .

用户A将更改合并到暂存分支 . Jenkins构建了分段分支,并取得了成功 .

用户C(用户B团队的发布经理)将用户B的更改合并到登台分支 . 但是,合并中的某些内容出错并且未被注意到,例如未正确解决的冲突 .

Jenkins构建了分段分支,但由于合并错误而失败 .

用户A和B会收到构建失败的通知,因为他们的代码是合并的一部分,即使他们的更改没有出错 . 用户C永远不会收到失败通知,即使他的错误合并是破坏了构建 .

有办法:

  • 导致Jenkins将合并提交视为更改? (在合并期间,实际上可能会修改代码!)

  • 通知用户C(作为合并提交者)以及用户A和B?

我们正在使用Jenkins的GitEmail-ext插件 .

Edit, several months later: 仍然存在这方面的问题 - 即使在进行合并的人没有引入重大更改的情况下,仍然很高兴他们被告知构建成功(或失败) .

2 回答

  • 1

    您可以尝试强制始终no fast-forward merges--no-ff 选项),并且所有合并将产生甚至合并提交(不仅在存在冲突时) .

    它还可以生成更易读,更清晰的git日志 .

    BTW检查你是否有最后一个版本的Jenkins Git plugin(过去他们有issues) .

  • -3

    你所描述的问题是你最终会在你的git历史中提交额外的提交 .

    如果用户A和用户B正在进行需要最终合并的更改,那么,一旦合并,您的git历史记录应该向您显示用户A和用户B的更改的SHA .

    如果我改变了,那么我真的不希望看到额外的git提交告诉我userC已经合并了userB的提交 - 后者已经存在于git历史中 .

    如果在git历史记录中记录了userC的合并 - 它将如何记录?差异会是什么样的?

    我认为你所描述的场景中的问题是,在合并注意到合并错误时,userC没有给予足够的重视 . 好的软件并不排除需要有能力的开发人员 .

相关问题