【问题标题】:Jenkins: GitHub hook trigger for GITScm pollingJenkins:用于 GITScm 轮询的 GitHub 钩子触发器
【发布时间】:2018-01-04 10:13:55
【问题描述】:

我尝试配置 Jenkins。我想要一个简单的行为:根据新的拉取请求触发构建。

所以,我创建了一个作业并对其进行了配置,但我选中了以下复选框:

正如你所见,没有任何东西被下拉。

如果我点击右侧的问号,我会看到:

如果 jenkins 将从 Git SCM 中定义的 repo 接收 PUSH GitHub hook 部分它将触发 Git SCM 轮询逻辑。所以轮询逻辑 事实上属于 Git SCM。

但是“Git SCM 部分”在哪里?

【问题讨论】:

    标签: jenkins


    【解决方案1】:

    您需要在 GitHub 存储库上配置 webhook。然后,在每次提交推送时,都会通知 Jenkins。

    所以,在浏览器中打开您的存储库,然后转到 Settings > Webhooks 并添加一个新的。

    然后,输入您的 Jenkins 实例的 URL,后跟 /github-webhook 并根据您的需要选择其他选项:

    【讨论】:

    • 现在在 GitHub 中,我们有单独的部分 WebHooks。
    • “只是推送事件”是否适用于 PR 创建?
    • @ArnoldRoa 我不这么认为,因为有一个PullRequestEvent,你应该选择“把所有东西都发给我”。
    【解决方案2】:

    我也对这个话题感到沮丧,这是我从 GitHub MERGE 获得工作触发所需要的:

    • GitHub repo -> 设置 -> Webhooks -> 带有 URL 的推送类型 webhook: http(s)://host:<port>/github-webhook/

      对我来说,最后一个斜线是必需的,没有它就无法工作

    • 在 Jenkins 系统设置中,添加 GitHub 服务器、它的凭据和 [x] 管理挂钩

    • 使用测试设置按钮测试它是否有效

    • 在 Job 配置,Source Code Management -> Git,添加 repo 和凭据

    • 在构建触发器下:[x] GITScm 轮询的 GitHub 挂钩触发器

    • 在 GitHub webhook 设置中,单击 webhook,它会在“Recent Deliveries”标题下显示它是如何工作的日志

    【讨论】:

      【解决方案3】:

      它是一个源代码管理部分(在触发部分之前), 取消选中“none” case 并检查 git ou github case(取决于您的版本)并在输入字段中填写您的 git repo url 和 credential

      【讨论】:

      • 此部分在我的 UI 中不存在
      猜你喜欢
      • 1970-01-01
      • 2022-11-08
      • 1970-01-01
      • 1970-01-01
      • 2016-03-30
      • 2021-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多