所以这就是问题。
我知道的另一种解决方案是
SSH
连接Jenkins
中的用户名
密码
配置。然而,现在已经不推荐使用GitHub API的密码。
但我的问题是如何使用个人访问令牌
设置Jenkins与GitHub的连接
我知道的另一种解决方案是
SSH
连接Jenkins
中的用户名
密码
配置。然而,现在已经不推荐使用GitHub API的密码。但我的问题是如何使用个人访问令牌
设置Jenkins与GitHub的连接
https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/
起始于2021年8月13日,我们将不再接受账户密码进行Git操作认证,并要求在GitHub.com上所有已验证的Git操作中使用基于令牌的身份验证,例如个人访问令牌(适用于开发人员)或OAuth或GitHub应用程序安装令牌(适用于集成商)。您也可以继续使用SSH密钥。需要您做的是: 基本上,将添加URL更改为https://<access token>@github.com/<userName>/<repository>.git
类似于这样
https://<access token>@github.com/dupinder/NgnixDockerizedDevEnv.git
并将凭据设置为无。[旧技术]
在Stackoverflow的多个帖子上进行了许多讨论
我发现其中一个帖子很有用。
请参考此答案: https://stackoverflow.com/a/61104603/5108695
Jenkins
而言,“个人访问令牌” 可以像密码一样使用。我将新凭据添加到凭据管理器中。Jenkins
凭据
> 系统
> 全局凭据
> 添加凭据
页面将会打开。jenkins-user
或 user
。个人访问令牌
。这就是我们如何使用个人访问令牌在Jenkins和Github之间配置或设置身份验证的方法。
原先被接受的答案已经不再适用了,因为这个原因:https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations。
你需要:
将仓库的URL更改为:https://<access token>@github.com/<user-name>/<repo-name>.git
(用真实参数替换每个<...>
)
将凭据设置为无。
https://<access token>@github.com/<team>/<repo>.git
https://ghp_6dh3jdk394jsmbh299jjdg20fh87hd83ksk39@github.com/MyKuleTeam/KuleGuyCode.git
请注意,如果您使用个人访问令牌,则无需在Jenkins中存储任何Github凭据。
Jenkins Github 插件
的凭据,请注意该插件现在仅接受 个人访问令牌
。<JENKINS_URL:PORT>/credentials/store/system/domain/_/newCredentials
并选择种类为 "Secret text" 的选项(而非默认的 "用户名和密码"),然后将令牌粘贴到 Secret 中并选择某个 ID。<JENKINS_URL:PORT>/credentials/
,并可从下拉列表中选择 <JENKINS_URL:PORT>/configure/
,按下 "Test connection" 按钮应显示 "Credentials verified for user <GITHUB_USER>"。Go to credentials > System > Global credentials > Add credentials
On the Kind drop-down select Username and password.
On the User section put the token.
Add the token in the password field
Then save
更大的速率限制 - GitHub应用程序的速率限制随着组织规模扩大而扩展,而基于用户的令牌的速率限制不管你有多少存储库,都限制为5000。
用户独立认证 - 每个GitHub应用程序都有自己的用户独立认证。不再需要“机器人”用户或找出谁应该是2FA或OAuth令牌的所有者。
改进的安全性和更严格的权限 - 与服务用户及其个人访问令牌相比,GitHub Apps提供了更精细的权限。这使得Jenkins GitHub应用程序需要运行所需的权限更小。
访问GitHub Checks API - GitHub Apps可以访问GitHub Checks API,从Jenkins作业创建检查运行和检查套件,并提供有关提交的详细反馈以及代码注释
链接: