到目前为止,我们在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
个
但没有成功。
我是不是漏掉了什么步骤?
4条答案
按热度按时间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
截图:
这个方法解决了我的问题。
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作业的资料档案库的名称
41ik7eoe3#
Jenkins提供了一个凭据存储,我们可以在其中保存自己的秘密。最佳做法是将其保存为本地变量,并将git URL“www.example.com/yourRepoName.git”上的个人令牌连接https://access_Token_Number@github.com/<Your_Org>起来。
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>文件。