Jenkins无法显示配置的Git凭证。

7
我有Jenkins 2.204.2,想要为我们的GitLab服务器配置一个项目以使用我的Git凭据。
我在“Jenkins > 凭据 > 系统 > 全局凭据”下创建了一个包含密钥的条目。
但是,如果我创建一个自由样式的项目并将“git”设置为源代码管理,那么“凭据”的选项仍然为空。
即使我使用凭据选项旁边的“添加”按钮再次添加相同的秘密密钥,这也不会显示在选项中(尽管新条目显示在“全局凭据”菜单中)。
我怎样才能配置凭证用于Jenkins?有什么遗漏的步骤,导致我无法选择我创建的凭证吗?
2个回答

7
要使用git协议(而不是https协议),您的Jenkins凭据必须是“带私钥的SSH用户名”类型。即使如此,由于已知问题,这些凭据也不会出现在下拉列表中:可能您已安装了“授权项目”插件,并在“配置全局安全性”>“项目默认构建授权”部分将“策略”字段配置为“作为指定用户运行”(和一个用户)或“作为匿名用户运行”。作为问题的解决方法,您可以选择“作为SYSTEM运行”,然后SSH凭据将出现在列表中。
请参见: 为什么GIT SCM部分中没有列出凭据? https://support.cloudbees.com/hc/en-us/articles/360017499672-Why-credentials-are-not-listed-in-the-GIT-SCM-section-

3
我检查了一下,发现我的Jenkins中没有安装Authorize Project插件。此外,在配置全局安全性时,当我检查策略字段时,没有名为“Run as SYSTEM”的选项。也许是因为Jenkins的版本更新了? - Sandun
1
@Sandun 面临类似的问题,你是如何解决的? - Ijaz
1
将凭据的范围从“SYSTEM”更改为“GLOBAL”,可以在“git插件”中看到该凭据。我没有“授权项目”插件。 - Frank Liu
@FrankLiu 这对我来说也是一样的。从系统切换到全局后,我的凭证开始显示出来了!谢谢你! - chubbsondubs

0
在创建时,请尝试将其Kind更改为Secret text(在<JENKINS_URL>/manage/credentials/store/system/domain/_/newCredentials)而不是默认的Username and Password。内容保持不变(在Github网站上生成为Github Personal Access Tokendocs),但这次不需要登录,只需保密)。
这样可以在GitHub插件的下拉菜单中显示令牌(GitHub服务器>凭据位于<JENKINS_URL>/manage/configure)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接