我有一个GitHub存储库,我想让它通过post-receive钩子通知Jenkins新的提交。我已经在Jenkins中安装了GitHub插件,并允许Jenkins管理它自己的钩子URL。该项目具有正确的git存储库URL,并被指示“在将更改推送到GitHub时进行构建”。当我让GitHub发送一个测试负载时,我在前端的nginx webserver中发现了以下内容:
207.97.227.233 - - [15/Sep/2011:07:36:51 +0000] "POST /github-webhook/ HTTP/1.1" 403 561 "-" "-"我正在运行SSL,所以我禁用了它,但没有任何效果。是否需要在权限矩阵中为匿名用户提供特殊权限?
请原谅配置文件的缺失:我很乐意分享那些可能存在的配置文件,但我不知道哪些文件可能会有用。
发布于 2011-09-15 21:19:48
因为我不允许匿名访问,所以我需要为GitHub推送创建一个特定的用户,并授予它总体读取、作业创建和作业读取权限。还需要将身份验证捆绑到webhook URL中,如下所示:
https://foo:password@jenkins.example.com/github-webhook/发布于 2019-12-09 05:58:02
从Github's instructions (“配置全局身份验证”,第一部分),
1. Create a user in Jenkins which has, at a minimum, Job/Build permissions
2. Log in as that user (this is required even if you are a Jenkins admin user), then click on the user's name in the top right corner of the page
3. Click 'Configure,' then 'Show API Token...', and note/copy the User ID and API Token.
4. In GitLab, when you create webhooks to trigger Jenkins jobs, use this format for the URL and do not enter anything for 'Secret Token': http://USERID:APITOKEN@JENKINS_URL/project/YOUR_JOB在我的例子中,我使用了http://USERID:APITOKEN@myIPaddress:808/,没有使用project/YOUR_JOB
发布于 2018-08-24 23:25:16
如前所述,Jenkins不允许匿名访问(您不希望人们为您触发构建!)。明文添加用户名和密码不是最佳解决方案。
1)如果您的Jenkins位于VPN之后,则需要确保您的Jenkins webhooks URL是公开的
2)在GitHub插件配置中,在Override Hook URL中添加正确的可访问Jenkins webhook URL(https://jenkins.example.com/github-webhook/
3)在Shared secret部分添加一个秘密(最好是一个长的随机字符串)。这将是从Jenkins发送到GitHub的令牌,反之亦然。这应该与GitHub服务器凭据不同!
4)确保用户拥有将webhooks添加到您的GitHub存储库的所有者访问权限
5)在此之后,不要忘记重新注册webhook
https://stackoverflow.com/questions/7427557
复制相似问题