2

我正在尝试使用 Jenkins 来保持我的主分支稳定,如此所述。基本上,开发人员检查 push 到集成分支,只有 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 中?

提前致谢

4

1 回答 1

0

我认为您应该考虑使用gerrit来管理更改。Jenkins 有一个 Gerrit 插件,可以自动构建和测试开发人员提交的更改。一旦更改由 Jenkins 验证,它们就可以被审查、批准并随后合并。

于 2012-10-24T23:05:18.377 回答