jenkins gitlab自动化部署遇到的钩子问题?

我有一个项目,这个项目下有很多子项目,相当于多个模块。

有时候我只想修改其中的某一个模块,然后push代码后自动触发对应的jenkins job,但是我不知道怎么针对某一个模块或者子项目配置webhook。

比如:我有一个项目叫platform,然后这个目录下分为了platformA、platformB等,然后A和B有对应的两个jenkins job,可以对A和B分别重构,我想实现提交代码到A,只触发A的jenkins job,不触发B的,请问如何配置才能实现这个功能呢?

gitlab可以添加多个webhook,但是每次无论是提交A或者B的代码,都会被触发,gitlab能做相应的匹配吗?

阅读 2.5k
2 个回答

有个很笨的方法:可以获取到修改提交的修改的文件,截取这个文件的根路径,然后根据路径判断构建哪个模块。

看见过一个项目就是这么操作的,里面有一个获取提交的文件在哪个项目哪个根目录的操作。

可以给每个模块建一个仓库,然后使用gitsubmodule做聚合。这样提交就是隔离的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题