Mic*_*ihs 19 git jenkins gitlab jenkins-pipeline multibranch-pipeline
我目前设置了一个Jenkins多分支管道作业,该作业基于我们的Gitlab服务器上托管的Git存储库.Jenkins可以读取存储库中的分支,并为存储库中的每个分支创建一个作业.但我无法弄清楚如何在Gitlab中使用webhooks触发作业.
我的问题是:
如何从Gitlab服务器触发在Jenkins中创建新的分支作业?我看不到推出新分支的webhook.
如何触发单个分支的实际构建作业?我只能为推送事件添加一个webhook但是我必须添加我不知道该怎么做的分支名称.
如何在推送到分支触发构建作业本身之前确保Gitlab始终触发"创建分支作业".
到目前为止我尝试的是触发多分支工作,但这没有任何效果,并且在这篇文章之后根本不起作用.
Ant*_*ine 11
你需要在Jenkins上安装Gitlab插件.
这将/project
在Jenkins上添加一个端点.(在Jenkins中查看=>管理Jenkins =>配置系统=> Gitlab)
现在在Gitlab项目中添加一个webhook => Settings => Integrations.(或者在较旧的Gitlab版本中:Gitlab项目=> Wheel icon => Integrations,在这种情况下你似乎需要成为项目的所有者)
在Url中:设置即可http://*yourjenkins.com*/**project**(/*foldername*)?/*yourprojectname*
,然后单击"添加Webhook".
当您在webhook上单击test时,它应该触发您的jenkins管道构建.(你应该有200个http响应)
它在Gitlab插件中无需身份验证即可运行,欢迎使用身份验证进行配置.
有一个(仍然有些新的)Jenkins 插件,称为GitLab Branch Source,它提供了许多出色的功能,如果没有该插件,我无法轻松设置这些功能,并且它应该可以轻松满足 OP\xe2\x80\x99s 的要求。
\n例如,您可以创建一个 \xe2\x80\x9cMultibranch Pipeline\xe2\x80\x9d Jenkins 作业,将其配置为将所需的 \xe2\x80\x9cGitLab Project\xe2\x80\x9d 作为其 \xe2\x80\ x9cBranch Source\xe2\x80\x9d ,它将自动为您的项目分支创建新的 Jenkins 作业,并为您的合并请求创建新的 Jenkins 作业。该插件还可以在 GitLab 项目上自动安装 Web 挂钩,以便新的分支、提交或合并请求将触发 Jenkins 继续前进。
\n所有这些都可以很好地配置,例如,您可以选择加入或选择退出自动 Web 挂钩创建。或者您可以指定合并请求作业应创建并签出本地合并提交/结果以进行测试。
\n重要的多分支作业 - 200 响应但没有任何触发
接受的答案是正确的。然而,正如许多人指出的那样,当他们使用GitLab Branch Source 插件 测试来自 gitlab 的 webhook 时,他们得到了 200,但 Jenkins 上没有任何触发。
这其实是gitlab上测试功能的问题。
如果您通过将代码推送到分支来进行实时测试,它将被触发。
这给我带来了很大的痛苦!希望我能为你节省一些。
归档时间: |
|
查看次数: |
13116 次 |
最近记录: |