【问题标题】:Jenkins & Github, build maven project when change is pushed doesn't workJenkins和Github,在推送更改时构建maven项目不起作用
【发布时间】:2015-08-29 06:20:06
【问题描述】:

我尝试关注几个链接和 youtube 视频,例如: jenkins module

我尝试了几种不同的方法来配置设置,但是当我将更改推送到 github 时,jenkins 不会自动构建 maven 项目。 但是,从 jenkins,我可以手动构建项目(所以,jenkins 和我的 github 之间没有问题)

具体来说,这是我当前的设置:

在 Jenkins > 管理 Jenkins > 配置系统 > GitHub Web Hook 块:

选中“让 Jenkins 自动管理 hooks URL”

用户名:我的github名称

OAuth token:从github生成的token

在 Github 中: 全局设置 > 个人访问令牌 > 我的“詹金斯”OAuth 令牌: 我的存储库 > 设置 > Webhooks & Services > 添加了我的“jenkins”服务

但我在存储库 > 设置 > Webhook 和服务中看到一个错误 “上次交付不成功。服务超时”

我回到我的詹金斯设置:

Jenkins > 配置全局安全性: 启用未经检查的安全性(此页面中未检查任何内容),我尝试创建一个 jenkins 用户,就像我在一些网络教程中看到的那样..但没有成功

Jenkins > 我的 Maven 项目 > 配置:

存储库网址:https://github.com/mygithubname/myrepository.git

凭据:mygithubname/mygithubpassword

和“在将更改推送到 github 时构建检查”

所以..有了这个设置,我的错误在哪里? 谢谢=)

【问题讨论】:

  • 你能找到解决办法吗?

标签: git maven github jenkins oauth


【解决方案1】:

前段时间写了一篇blogpost with exact steps如何将Jenkins Github插件与Github集成。

向下滚动到“2. Jenkins – GitHub 集成”部分。

我注意到你和我的方法之间的差异:

  1. 我在 Jenkins 的 Github Web Hook 部分填写了 API URL,但没有使用用户名。
  2. 我没有在 Jenkins 工作中填写凭据
  3. 在 Jenkins 作业中检查了构建触发器“将更改推送到 Github 时构建”

【讨论】:

  • 我测试了这个更改,我推送了一个新文件......但是 jenkins 没有任何反应:/ 如果可以,我会按照你的教程进行操作
【解决方案2】:

你在 Github repo 中填写的 jenkins hook url 是什么?

Github webhook 机制依赖公共 IP 或 DNS 工作。所以如果你使用http://localhost:8080/github-webhookhttp://127.0.0.1:8080/github-webhook 那么肯定不行,因为Github 无法找到你的jenkins 在哪里。

【讨论】:

  • 有什么办法可以解决这个问题吗?
  • 我几天前已经回答了这个问题,您可以随意看看可能的解决方案stackoverflow.com/questions/30576881/…
  • 因为你在 Github 中指定了这种类型的 url。所以 Github 会将 localhost:8080127.0.0.1:8080 对待自己,而不是你的 jenkins 服务器。您应该指定公共 IP 或 DNS 以使 Github webhook 正常工作。换句话说,你应该确保 Github 可以从互联网上找到你的 jenkins 服务器。 localhost127.0.0.1 都是无效的公共地址,其他机器无法查找。
  • 在 webhook github 设置中,使用的 url 是好的(jenkins 服务器的 ip 固定,有了这个 ip 我可以从任何计算机/连接访问我的 jenkins 服务器),而不是本地 url跨度>
猜你喜欢
  • 2017-05-26
  • 1970-01-01
  • 2018-03-28
  • 1970-01-01
  • 2013-02-21
  • 2012-08-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多