Jenkins构建未能触发GitHub推送。

4

目前正在尝试自动化每个github push的作业构建过程。 我已经采取了以下步骤进行自动化,但仍未实现自动化。我错过了什么?

  1. 安装 Github Integration 插件

  2. 在此存储库的 github 集成中,将服务 webhook URL 添加为 http://{IP Address}:{PORT}/github-webhook

  3. 在 Jenkins 服务器上为用户 jenkins 创建 ssh key,并将其添加到此存储库的部署密钥中。

  4. 运行命令以检查 ssh 连接 - ssh git@github.com。它成功了。

  5. 在 Jenkins 设置中,设置如下: enter image description here

  6. 构建触发器: enter image description here

  7. 在 github 服务中 push 后,显示操作成功,但jenkins没有被触发。

我错过了什么?


你遇到了什么错误?@Pranavadurai - Tanvi Garg
@TanviGarg 在 git push 之后,自动构建无法提交。 - Pranavadurai
据提到,Github中的集成服务将在不久的将来被Webhooks所取代。集成Webhooks非常容易,基本上也提供了相同的推送通知选项。不妨试一试。 - gtrip
3个回答

3
你试过运行“Test Hook”吗?它有响应了吗?
在认证部分底部附近有一个复选框,标记为“防止跨站点请求伪造攻击”,需要取消选中该复选框才能使这种特定的方法正常工作。 It looks like this

我们在哪里可以取消这个选项? - Pranavadurai
它在Jenkins中。如果您可以尝试从Git运行测试钩子,那将非常有帮助。它的响应将更清楚地说明您的设置出了什么问题。 - Arun.D
8
在Jenkins中找不到这个设置,您能具体说明在哪里可以找到吗?我正在使用Pipeline项目。 - Pranavadurai

2
首先,您需要在下面的部分中设置 github 和 jenkins
前往Github --> 单击个人资料下拉菜单 --> 设置 --> 开发者设置 --> 个人访问令牌 --> 生成新令牌 --> 选择所有范围 --> 复制令牌 然后转到Jenkins --> 管理 Jenkins --> Github 设置 --> 添加用户 --> 选择秘密文本 --> 粘贴令牌

然后通过单击测试按钮来测试 git-hub 连接,如果成功,则 Jenkins 将在您提交到 git-hub 时触发。


2
请确保以下事项都正确完成,对我来说只是仓库URL末尾缺少了.git:
  1. 在项目URL字段中使用https://github.com/user/repo.git而不是https://github.com/user/repo
  2. 如果您正在使用反向代理头,请确保检查代理的值是否正确
  3. 请确保jenkins -> 全局安全配置 -> CSRF防护 -> 选中代理兼容性的框

找到这个之前浪费了太多时间!谢谢! - T.Todua

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接