2

有一个 Java maven 项目,其源代码由Gitbucket. 为项目配置了一个 Maven 项jenkins

而且,现在想在 gitbucket 收到新提交时触发 jenkins 中的自动构建,根据:https ://plugins.jenkins.io/gitbucket

这是我所做的:

  • 安装詹金斯和 gitbucket。
  • 为 jenkins 安装插件,包括 git 插件和Gitbucket插件。
  • 在 githucket 中,添加 jenkins 的 webhook。
  • 在 jenkins 中,创建一个maven项目,并选中部分中的Build when a change is pushed to GitBucket选项Build Triggers

当前状态:

  • 可以成功地在jenkins中手动构建项目。

  • 但是,当向 gitbucket 推送新的提交时,jenkins 无法触发新的构建。

  • 在 gitbucket 的 webhook 配置页面中,当 click 时test hook,会得到403响应。

问题:

  • 当提交时从 gitbucket 推送到 jenkins 时,进行身份验证的机制是什么?详细配置方法。(我用谷歌搜索了一段时间,没有得到明确的工作解决方案
  • 在 gitbucket 中,创建 webhook 时,有一个security token字段,值应该来自哪里,与此任务相关吗?

谢谢。

4

1 回答 1

3

(在评论和尝试的帮助下,有点想通了机制,现在可以通过 webhook 自动构建。)

机制 - Jenkins 的Gitbucket插件

  • 该插件通过比较以下 2 个值来确定要触发的作业:
    1. 詹金斯的工作repository urlSource Code Management.
    2. Gitbucket repo 的http协议的 git clone url。

提示:

  • 所以不能在 jenkins jobrepository url下使用 ssh 协议Source Code Management
    因为它不会匹配 gitbucket 的 webhook 使用的 url,因此无法触发构建。请改用 http 协议。

  • 在詹金斯的工作中,url下面的Gitbucket部分。
    它指定了 gitbucket 中 repo 的主页 url(不适用于 git clone),主要用于链接使用。
    它是可选的,如果设置,那么工作页面中将有一个指向该 url 的链接。

于 2018-04-02T07:46:28.173 回答