我正在尝试使用Jenkins来保持我的主分支稳定,如here所述。基本上,开发人员检查推入集成分支,只有Jenkins实例从集成合并到master。我的项目由多个RTL(verilog,vhdl等)子组件组成,每个子组件都有自己的测试平台,可以单独构建。 git-plugin在运行测试之前支持基于已更改文件的过滤,但我想要在合并之前要求所有已更改的子组件成功构建。即如果我的目录结构如下:
src/
A/
B/
C/
share/
test/
A/
B/
C/
如果src / A /中的某些内容发生了变化,那么在将集成合并到master之前,只有测试A需要成功。如果src / share /更改,则需要在将集成合并到分支之前运行测试A,B和C.所有测试都可以并行运行。
我已经研究过使用fork-plugin和parameterized-trigger-plugin,但看起来它们需要静态配置。有没有办法处理这种类型的动态依赖钻石,并且只有在一切成功的情况下让Jenkins将集成合并到master中?
提前致谢
答案 0 :(得分:0)
我认为您应该考虑使用gerrit来管理更改。 Jenkins有一个Gerrit插件,可以自动构建和测试开发人员提交的更改。 Jenkins验证更改后,可以对其进行审核,批准并随后合并。