3

我正在将旧的 Jenkins 自由式工作迁移到多分支管道。我也想和他们一起使用 GitLab 钩子。

我的问题是分支检测。我是手动执行的,但我希望它是自动的:当一个新分支被推送到 git 时,如果 GitLab 的分支参数目前对于 Jenkins 未知,GitLab 会触发一个 Jenkins 作业,该作业会触发分支检测。这是可能的还是不存在?

仅供参考:我试图启动多分支管道作业,但 Jenkins 说:

ERROR: No parameterized job named XXX found.
4

4 回答 4

0

在您的多分支作业配置中启用“定期构建”,分支索引将自动启动。

于 2016-06-09T08:41:22.227 回答
0

你真正需要的是一个带有 webhook 集成的 GitLab 分支源插件,它在 JIRA 中被跟踪为 RFE。

如果做不到这一点,请使用普通的 Git 分支源并配置 GitLab 以将 Jenkins 通知发送到/git/notifyCommit(IIRC),如 Git 插件 wiki 中所述。只需要指定一个url,没有其他细节。索引此触发器的分支应该检测新的或删除的分支,以及对现有分支头部的更改,并相应地安排构建。

于 2016-06-10T11:58:48.907 回答
0

您可以在 GitLab 中为推送事件和 URL 设置 webhook,例如http://<yourserver>/git/notifyCommit?url=<URL of the Git repository>.

请参阅https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin#GitPlugin-Pushnotificationfromrepository

GitLab 通知 Jenkins 推送事件,这也应该触发多分支管道的分支检测。

于 2016-07-13T18:18:03.150 回答
0

我没有收到我想要的答案,今天我遇到了这个问题,回答了这个问题:

https://github.com/jenkinsci/gitlab-plugin/issues/298

TLDR:尚不支持多分支管道,但 gitlab 提交很容易触发。有一种解决方法。看看上面的链接。

于 2016-08-10T15:05:10.513 回答