Jenkins - Github插件-使用个人访问令牌(2021年8月13日更改后需要)

e4eetjau  于 2022-11-02  发布在  Jenkins
关注(0)|答案(4)|浏览(326)

到目前为止,我们在Jenkins设置中使用的是带有用户名和密码凭据的GitHub插件。
但是,在2021年8月13日之后,此操作停止工作,引发此错误:
stderr: remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/以获取更多信息。
根据How to use Github Personal Access Token in Jenkins中提供的答案
我将URL修改为:
https://<access token>@github.com/<userName>/<organization>/<repository>.git
但没有成功。
我是不是漏掉了什么步骤?

xu3bshqb

xu3bshqb1#

使用以下URL创建您的专用访问令牌
https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token
之后,在Jenkins作业的“源代码管理”部分中,以www.example.com/yourRepoName.git的格式提供Git存储库URLhttps://access_Token_Number@github.com/<Your_Org>
例如,如果存储库名称为abc,组织为test,令牌号为12345678,则URL如下所示
https://12345678@github.com/test/abc.git
截图:

这个方法解决了我的问题。

pjngdqdw

pjngdqdw2#

Jenkins明确表示它需要一个个人访问令牌(PAT)而不是密码来进行git授权。
请使用以下链接创建PAT:[1][2][3][4][5][6][7][8][9][10]
然后转到Jenkins -〉配置作业-〉源代码管理并更改存储库URL,如下所示:您https://access_Token_Number@github.com/<Your_Org>报告名称. git

*访问令牌号:这是一个PAT,您将使用上述共享链接生成
*组织名称:存储库所在的全局名称
*报告名称:为其配置Jenkins作业的资料档案库的名称

41ik7eoe

41ik7eoe3#

Jenkins提供了一个凭据存储,我们可以在其中保存自己的秘密。最佳做法是将其保存为本地变量,并将git URL“www.example.com/yourRepoName.git”上的个人令牌连接https://access_Token_Number@github.com/<Your_Org>起来。

ki0zmccv

ki0zmccv4#

对于更具可扩展性的解决方案,定义GitHub令牌一次,多次使用(DRY)。您可以将其保存在凭据(Jenkins的密钥环)中。
步骤如下:
1.生成GitHub个人访问令牌(PAT)(并将其保存在安全的地方):
link)中的一个或多个。
1.在Jenkins中创建一个新的凭证(属于“用户名加密码”类型),输入GitHub PAT作为密码:
Manage Jenkins > Credentials > System > Global credentials > Add Credentials > Kind > Username and password(https://<JENKINS_URL>/管理/凭据/存储/系统/域/_/)。
1.在所有克隆GitHub仓库的管道中使用新的凭据:
配置<JENKINS_URL><PIPELINE_NAME>文件。

相关问题