如何通过 Gitbucket 的 webhook 在 Jenkins 中触发自动构建?
How to trigger auto build in Jenkins via Gitbucket's webhook?
有一个 Java maven 项目,其源代码由 Gitbucket
管理。在 jenkins
中为项目配置了一个 Maven 项。
并且,现在想要在 gitbucket 收到新提交时触发 jenkins 中的自动构建,根据:https://plugins.jenkins.io/gitbucket
这是我所做的:
- 安装 jenkins 和 gitbucket。
- 为 jenkins 安装插件,包括 git 插件和
Gitbucket
插件。
- 在githucket中,添加一个jenkins的webhook。
- 在 jenkins 中,创建一个
maven
项目,并选中 Build Triggers
部分中的选项 Build when a change is pushed to GitBucket
。
当前状态:
可以在jenkins中手动构建项目成功。
但是,当将新提交推送到 gitbucket 时,jenkins 无法触发新构建。
- 在gitbucket的webhook配置页面,当点击
test hook
时,会得到403
响应。
问题:
- 提交时从 gitbucket 推送到 jenkins 时,进行身份验证的机制是什么?具体怎么配置。 (我用谷歌搜索了一段时间,没有找到明确的工作解决方案)
- 在gitbucket中,创建webhook时,有一个
security token
字段,值应该来自哪里,与这个任务相关吗?
谢谢。
(在评论和尝试的帮助下,有点想出了机制,现在可以通过 webhook 自动构建。)
机制 - Jenkins 的 Gitbucket
插件
- 插件通过比较以下 2 个值来确定触发哪个作业:
- Jenkins 作业的
repository url
在 Source Code Management
下。
- Gitbucket 存储库的 git 克隆 url http 协议。
提示:
因此 不能在 Source Code Management
下的 jenkins 作业的 repository url
中使用 ssh 协议。
因为它不会匹配 gitbucket 的 webhook 使用的 url,因此无法触发构建。请改用 http 协议。
在 jenkins 的作业中,Gitbucket
部分下的 url
。
指定gitbucket中repo的主页url(不适用于git克隆),主要用于link使用.
它是可选的,如果设置,那么在职位页面中将有一个link到url。
有一个 Java maven 项目,其源代码由 Gitbucket
管理。在 jenkins
中为项目配置了一个 Maven 项。
并且,现在想要在 gitbucket 收到新提交时触发 jenkins 中的自动构建,根据:https://plugins.jenkins.io/gitbucket
这是我所做的:
- 安装 jenkins 和 gitbucket。
- 为 jenkins 安装插件,包括 git 插件和
Gitbucket
插件。 - 在githucket中,添加一个jenkins的webhook。
- 在 jenkins 中,创建一个
maven
项目,并选中Build Triggers
部分中的选项Build when a change is pushed to GitBucket
。
当前状态:
可以在jenkins中手动构建项目成功。
但是,当将新提交推送到 gitbucket 时,jenkins 无法触发新构建。
- 在gitbucket的webhook配置页面,当点击
test hook
时,会得到403
响应。
问题:
- 提交时从 gitbucket 推送到 jenkins 时,进行身份验证的机制是什么?具体怎么配置。 (我用谷歌搜索了一段时间,没有找到明确的工作解决方案)
- 在gitbucket中,创建webhook时,有一个
security token
字段,值应该来自哪里,与这个任务相关吗?
谢谢。
(在评论和尝试的帮助下,有点想出了机制,现在可以通过 webhook 自动构建。)
机制 - Jenkins 的 Gitbucket
插件
- 插件通过比较以下 2 个值来确定触发哪个作业:
- Jenkins 作业的
repository url
在Source Code Management
下。 - Gitbucket 存储库的 git 克隆 url http 协议。
- Jenkins 作业的
提示:
因此 不能在
Source Code Management
下的 jenkins 作业的repository url
中使用 ssh 协议。
因为它不会匹配 gitbucket 的 webhook 使用的 url,因此无法触发构建。请改用 http 协议。在 jenkins 的作业中,
Gitbucket
部分下的url
。
指定gitbucket中repo的主页url(不适用于git克隆),主要用于link使用.
它是可选的,如果设置,那么在职位页面中将有一个link到url。