繁体   English   中英

当 github 帐户使用 2 因子身份验证时,是否可以将 Jenkins Webhooks 与 Github 一起使用

[英]Is it possible to use Jenkins Webhooks with Github when the github account uses 2 factor auth

我正在为 jenkins 使用最新的 docker 镜像(jenkins/jenkins:lts JENKINS_VERSION 2.208)。 我已经启动了容器,配置了 jenkins,并且可以针对公共存储库手动构建。 但是,在我的 github 帐户上,我有 2FA,必须保留。 我在 Github 中创建了一个个人访问令牌,并在我的 jenkins 配置中用于 github 服务器部分。 我已经通过按下测试连接链接来验证连接是否正常(我添加了使用来自 github 的个人访问令牌的秘密文本): Jenkins Github 服务器设置

在 Github 中,我有 wekhook 设置,其中包含 jenkins 托管位置的 IP 地址(docker 容器的 IP),然后是 github-webhook(我也尝试使用 jenkins 的 dns 映射地址,例如http:// jenkins-local/github-webhook ),内容类型为 application/json: Github 网络钩子设置 .

我也在 jenkins 中启用了 github 轮询,但是,它不适用于对 repo 的推送请求。 我在 webhooks 部分的 Github 中看到失败日志,每次我进行推送时都会增加(请求不断失败)。 我在互联网上进行了广泛搜索,并找到了有关如何操作的建议文档,包括此处的链接:保护您的 webhooks ,但是当发起推送并触发构建时,没有任何内容给我所需的轮询效果。 所以我的问题是,是否可以使用 2FA 和 github webhooks? 如果可能,那么具体的步骤是什么?

如果您启用了 2FA,您将无法再使用工具中的登录名/密码进行身份验证。 您需要创建一个令牌来代替您的密码。

官方文档应该很快就能让你到达那里。

最后的解决办法是下载ngrok。 我之前尝试过的 IP 地址和 dns 映射地址不是公开可用的。 我也尝试使用我的公共 IP 地址,但这也不起作用。 最后,下载 ngrok 给了我一个可公开访问的 ip 地址(地址将如下所示: http : //1212344a.ngrok.io )。 如果您还计划使用 ngrok,请确保当您从命令行/终端启动它时,如果需要,您还为本地运行的应用程序传递相同的端口。 接下来,在 github - settings - webhooks 中将有效负载 url 设置为 ngrok 在终端输出中提供的 url,但还将 /github-webhook/ 附加到地址末尾以完成有效负载 url(在我的情况下,这是http ://1212344a.ngrok.io/github-webhook/作为完整的有效负载 URL)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM