gpt4 book ai didi

github - 如何配置 Cloudbees Jenkins 以在推送到 Github 时触发构建

转载 作者:行者123 更新时间:2023-12-04 05:06:54 27 4
gpt4 key购买 nike

我尝试按照本文中的说明进行操作:

http://developer.cloudbees.com/bin/view/DEV/GitHub+Commit+Hooks+HOWTO

但是我有两个问题:

  • 它不起作用。当我推送到 github 时, Jenkins 方面没有任何 react 。在 Jenkins 上,GitHub Hook 日志显示“轮询尚未运行”。
  • 可能的原因是我无法指定 git 存储库,如下图所述:

  • enter image description here

    没有用于公钥的文本字段,也没有其他字段。相反,我有这些领域
    Repository URL, Name, Refspec

    我也可以指定一个 http url(以及除触发之外的所有内容)。但是,如果我在图像中指定 git/ssh url,则会收到以下错误:

    Failed to connect to repository : Command "git ls-remote -h git@github.com:schauder/degraph.git HEAD" returned status code 128: stdout: stderr: Warning: Permanently added 'github.com,207.97.227.239' (RSA) to the list of known hosts. Permission denied (publickey). fatal: Could not read from remote repository.

    Please make sure you have the correct access rights and the repository exists.



    我从 github 复制了 url,所以不太可能出现拼写错误。

    我确认我已经安装了 github 插件(升级到 1.5 版)

    任何提示如何解决或至少调试问题?

    更新评论中的回答问题:

    是的,我在作业配置中选中了“将更改推送到 GitHub 时构建”复选框。

    是的,我在 GitHub 中设置了 webhook。当我单击那里的测试按钮时,没有任何 react 。当我将 webhook 中的 url 放入浏览器时,我得到一个 http 500 说

    Not intended to be browsed interactively (must specify payload parameter)



    加上一些冗长的堆栈跟踪。

    另一个更新

    我检查了 Jenkins 端安装的 GIT 相关插件。在文本中显示他们与 GIT 的所有内容都已安装并且是最新版本

    最佳答案

    根据上面的 Git 错误消息,我假设您无法通过身份验证。您是否按照 here 的描述在 GitHub 上添加了 CloudBees 公共(public) SSH key ? ?

    OP 澄清

    问题中引用的图像似乎表明有人将 GitHub 中的公钥放入 CloudBees。但实际上情况正好相反,而且所有标签似乎都已更改,因此很难将该屏幕截图与您在 CloudBees 中看到的内容相匹配。

    所以我做的是这样的:

  • 在 Cloudbees 的作业配置中有一个公钥(由 CloudBee 生成)。我在 CloudBees DEV@cloud Authorization部分并标记为 CloudBees Public Key .复制该 key 。
  • 跳到 GitHub 并转到 Settings > Deploy Keys .在那里添加 key 。
  • 转至 Settings > Service Hooks > WebHook URLs .点击测试按钮。你不会在 GitHub 上看到太多东西。
  • 跳回 CloudBees Jenkins。从作业的主页转到“GitHub Hook Log”。在那里你应该看到类似的东西:
    Started on Mar 15, 2013 8:55:14 AM
    Using strategy: Default
    [poll] Last Built Revision: Revision 581acde89a62317fd8dabaa3f4c6025d1c9dd413 (origin/master)
    Fetching changes from the remote Git repositories
    Polling for changes in
    Done. Took 0.34 sec
    Changes found

    你的工作应该开始了。

    如果最后一行显示 No Changes这意味着钩子(Hook)有效,但您已经构建了当前版本,因此不会再次触发构建。
  • 如果您还有问题,请查看 https://wiki.jenkins-ci.org/display/JENKINS/Github+Plugin#GitHubPlugin-TriggerabuildwhenachangeispushedtoGitHub在“疑难解答”下,它告诉您如何在 Jenkins 方面设置日志记录。有了这个,我在 Jenkins SystemLog 中得到了各种各样的东西。
  • 关于github - 如何配置 Cloudbees Jenkins 以在推送到 Github 时触发构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15429448/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com