我目前设置了一个基于 Gitlab 服务器上托管的 Git 存储库的 Jenkins 多分支管道作业。 Jenkins 可以读取存储库中的分支,并为存储库中的每个分支创建一个作业。但是我不知道如何在 Gitlab 中使用 webhooks 触发作业。
我的问题是:
如何从我们的 Gitlab 服务器在 Jenkins 中触发创建新的分支作业?我看不到正在推送的新分支的 webhook。
如何为单个分支触发实际构建作业?我只能为推送事件添加一个 webhook,但我必须添加我不知道该怎么做的分支名称。
如何确保 Gitlab 始终在推送到分支触发构建作业本身之前触发“分支作业的创建”。
到目前为止我尝试的是触发多分支作业,但这没有任何效果并遵循 this post根本不起作用。
最佳答案
您需要安装Gitlab Plugin在 Jenkins 身上。
这将在 Jenkins 上添加一个 /project
端点。 (在 Jenkins => Administrate Jenkins => Configure System => Gitlab 中查看)
现在在您的 Gitlab 项目上添加一个 webhook => 设置 => 集成。 (或者在旧的 Gitlab 版本中:Gitlab 项目 => 轮子图标 => 集成,在这种情况下你似乎需要成为项目的所有者)
在 Url 中:设置 http://*yourjenkins.com*/**project**(/*foldername*)?/*yourprojectname*
就这样,然后点击“Add Webhook ”。
当您点击 webhook 上的测试时,它应该会触发您的 jenkins 管道构建。 (你应该有一个 200 http 响应)
它在 Gitlab 插件中无需身份验证即可工作,欢迎配置身份验证。
关于git - 如何使用 Gitlab Webhook 触发 Jenkins 多分支流水线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40979405/