使用 2FA 为 Github CI 配置 Jenkins

Posted

技术标签:

【中文标题】使用 2FA 为 Github CI 配置 Jenkins【英文标题】:Configure Jenkins For Github CI w/ 2FA 【发布时间】:2017-09-30 12:15:15 【问题描述】:

我的 Github 帐户启用了两因素授权 (2fa)。我想将 Jenkins 与我的一些私人存储库集成,但我无法授权它们,因为我启用了 2fa。请注意,这是一个多分支管道项目。

任何想法如何配置 Jenkins 以连接私人仓库而不创建未启用 2fa 的虚拟帐户?

【问题讨论】:

【参考方案1】:

谁会想到点击帮助按钮?

Credentials used to scan branches and pull requests, check out sources and mark commit statuses.

If none is given, only the public repositories will be scanned, and commit status will not be set on GitHub.

If your organization contains private repositories, then you need to specify a credential from an user who have access to those repositories.
This is done by creating a "username with password" credential where the password is GitHub personal access tokens. The necessary scope is "repo"

即在为您的 Jenkins 凭证使用用户名/密码时,使用 Github personal access token 作为您的密码。

【讨论】:

使用访问令牌而不是密码不起作用。 同意马哈茂德。使用个人访问令牌似乎不适用于为帐户启用 2FA 的密码。 编辑:个人访问令牌确实工作。但是,如果您通过在 GH 中双击它来选择令牌,它将在令牌的前面添加一个space。确保您没有无意中选择空格! 多分支管道项目不允许您使用个人令牌设置 GitHub 源。它强制您选择帐户/密码。如果您的帐户启用了 2fa,它将无法连接到 GitHub 存储库。 有没有关于如何做到这一点的指南?我只是想在本地设置 Jenkins - 我不断收到错误,但我仍然不确定应该采取什么方法。您提到的 Andrew 的帮助文本并没有真正解释所需的步骤。在进行了广泛的在线搜索并浏览了 Jenkins 设置文档后,我们将不胜感激一些指向稳健指南的指针。谢谢

以上是关于使用 2FA 为 Github CI 配置 Jenkins的主要内容,如果未能解决你的问题,请参考以下文章

2FA 推送到 GitHub 时出现问题

Jenkins 不同角色不同视图及不同权限设置

Linux开发者的CI/CD配置jenkins凭据从github拉取代码

golang 命令行上的双因素身份验证。请参阅https://github.com/rsc/2fa

使用Travis-CI自动化部署Hexo博客

深信服上网行为管理如何配置双因素/双因子(2FA)身份认证