我一直在使用Jenkins中的Git插件从GitHub存储库中提取源代码。我一直在使用UserName和密码进行身份验证。
然而,GitHub有宣布
弃用通知: GitHub将停止对API的密码身份验证。现在必须使用API令牌对GitHub API进行身份验证,例如OAuth访问令牌、GitHub应用程序安装访问令牌或个人访问令牌,这取决于您需要对该令牌做什么。
因此,我需要更改身份验证,以使用oAuth令牌。
1>我在GitHub中创建了一个oAuth令牌
2>,然后在Jenkins,我创建了Secret Text
作为全局凭据。(使用GitHub的oAuth令牌)
但是,当我进入作业配置时,Git插件在3>类型为secret text
的DropDownList中不显示任何凭据(不过它显示了所有其他凭据)。
如何将Git配置为使用oAuth令牌?
发布于 2020-03-18 22:51:19
首先检查是否安装了github-oauth
Jenkins插件,如沃克·罗中的"使用Jenkins OAuth插件安全地从GitHub中拔出“所述。
这将允许将您的Jenkins服务器注册为一个应用程序,然后该应用程序可以访问GitHub资源:
发布于 2020-03-22 21:14:47
坚持使用“带有密码的用户名”凭据类型,使用令牌(通常是个人访问令牌)代替密码创建。
链接到的GitHub文档特别提到了这种类型的用例:
curl -u username:token https://api.github.com/user
如果您的工具只支持基本身份验证,但希望利用OAuth访问令牌安全特性,则此方法非常有用。
Git插件不接受SecretText
证书,因为它不知道该如何处理它。虽然它不局限于Basic (毕竟它支持SSH ),但它不知道如何处理OAuth令牌。
幸运的是,GitHub为这种精确的用例类型提供了一个工作,允许您使用传递一个令牌(实际上),否则你会使用密码。。
使用这种方法可以让您利用令牌的安全特性,如每令牌范围,而不必追溯-适合您现有的工具。
发布于 2020-04-16 16:26:09
另一种方法是利用GitHub应用程序身份验证支持
它是在2020年4月与GitHub分支来源2.7.0-beta1一起发布的,詹金斯实验更新中心中有它。
为什么要作为GitHub应用程序进行身份验证?
和:
除了对多分支管道使用GitHub应用程序身份验证之外,还可以在管道中直接使用应用程序身份验证。 --您可以像往常一样通过加载“用户名/密码”凭证来访问GitHub API的Bearer令牌,插件将处理后台中的GitHub身份验证。
https://stackoverflow.com/questions/59383728
复制相似问题