当前位置: 首页 > news >正文

jenkins job的configure中配置git时 选择的credential为什么不能选择secret认证方式的数据

你在 Jenkins 中配置 Git 时,无法直接选择 "Secret text" 类型的凭证来认证代码仓库,这主要是因为 Git 操作(特别是通过 HTTPS 克隆时)通常需要的是“用户名+密码”组合,而单纯的 Secret text(如 GitHub 的个人访问令牌)只能替代密码部分,仍然需要一个明确的用户名

ps: 在job的configure中配置git时,能使用的认证方式有2种:

1)account/password (登录企业内部的github账号密码)

2) private key认证(ssh认证方式,需要配置一个private key在认证中,配置公钥在github账号的ssh key中)

ps: 在jenkins的系统配置页面,GitHub Pull Request Builder 配置中,配置的认证方式有2种:

1) secret key ,这是一种令牌的方式。这个secret key是在github登录账号的Personal access tokens 中生成的,也需要配置到github代码仓库的webhooks中。

2)account/password (登录企业内部的github账号密码)。

 

下面这个表格能帮你更清晰地理解不同类型凭证的适用场景:

 
凭证类型主要用途在 Git HTTPS 认证中的角色
Secret text 存放单纯的令牌(Token),如 GitHub Personal Access Token、API密钥等。 无法单独使用。Token 需要作为密码,与对应的用户名(对于 GitHub 可以是任意非空字符串,如 git,但更常见的是账户用户名)组合才能生效。
Username with password 存放用户名和密码的组合。 标准用法。可以将 Personal Access Token 直接填入此类型的凭证的 Password 字段,Username 字段填写你的 Git 服务商用户名。
SSH Username with private key 使用 SSH 密钥对进行认证。 不用于 HTTPS 协议,用于 SSH 协议(如 git@github.com:user/repo.git 格式的仓库地址)。

💡 如何正确使用 GitHub Token

既然你已经有了 Secret text(如 GitHub 的 Personal Access Token),正确的使用方法是创建一个 "Username and password" 类型的凭证:

  1. 创建凭证:在 Jenkins 的凭证管理系统中,选择添加新凭证,类型选择 "Username and password"。

  2. 填写信息:

    • Username:填写你的 GitHub 用户名。

    • Password:这里不要填你的 GitHub 登录密码,而是填入你生成的 Personal Access Token。

    • ID(可选但推荐):为你这个凭证设置一个清晰易懂的 ID,例如 github-username-token,便于日后在 Jenkinsfile 或任务配置中识别和使用。

  3. 选择凭证:完成创建后,回到你的 Job 配置页面,在 Git 仓库配置的 Credentials 下拉菜单中,就可以选择这个新创建的 "Username and password" 型凭证了。

⚠️ 其他常见问题排查

如果按照上述方法配置后仍然遇到问题,可以检查以下几点:

  • 确认仓库地址格式:确保你使用的 Git 仓库地址是 HTTPS 格式(如 https://github.com/username/repo.git)。SSH 密钥凭证仅适用于 SSH 格式的地址(如 git@github.com:username/repo.git)。

  • 检查主机密钥验证:如果使用的是 SSH 协议且遇到 Host key verification failed 错误,可能需要在 Jenkins 系统管理的全局配置中调整 Git 的 Host Key Verification Strategy,或者提前将 Git 服务器的主机密钥添加到 Jenkins 服务器的 known_hosts 文件中。

  • SSL 证书问题:如果在内网环境使用自签名证书的 Git 仓库,可能会遇到 SSL 证书验证失败的问题。可以考虑在 Jenkins 所在的代理机(Slave)上配置 Git 忽略 SSL 验证(例如设置 git config --global http.sslVerify false,但会降低安全性),或者将正确的 CA 证书添加到信任链中。

希望这些解释和步骤能帮助你顺利配置 Jenkins 的 Git 认证。如果还有其他疑问,比如想了解如何在 Pipeline 脚本中更灵活地使用凭证,欢迎随时再问我。

http://www.hskmm.com/?act=detail&tid=15732

相关文章:

  • Day21继承
  • C# Avalonia 15- Animation- ImageWipe
  • 题解:P8067 [BalkanOI 2012] balls
  • 题解:P8300 [COCI 2012/2013 #2] INSPEKTOR
  • SuperHarness-3D低压柜机电协同设计方案!
  • 详细介绍:.NET驾驭Word之力:打造专业文档 - 页面设置与打印控制完全指南
  • 使用.NET标准库实现多任务并行处理的详细过程 - 实践
  • 模型训练中 平均损失值和平均准确率的深入理解
  • torch.max函数在分类问题中的使用 学习
  • godot3.6字典遍历
  • 国产DevOps工具链崛起:Gitee领衔的本土化技术生态全景解读
  • 安装 elasticsearch-9.1.4的 IK分词器
  • react性能优化
  • 从研发效能到知识中枢:Gitee Wiki如何重塑企业知识管理范式
  • Gitee DevSecOps平台:军工软件研发的智能化革命
  • 杆状病毒表达系统为何成为蛋白表达首选
  • 日记3
  • Gitee如何重塑中国开发者的代码托管体验
  • 模块化面向对象 2章
  • css `isolation: isolate` - 详解
  • Debezium + Kafka + Flink/Doris Stream Load 实时数仓
  • Gitee DevOps平台:中国企业数字化转型的代码管理新范式
  • Ansible + Docker 部署 Zookeeper 集群
  • 幂运算与航班中转的奇妙旅行:探索算法世界的两极 - 实践
  • Gemini CLI 配置问题
  • 本土化与全球化博弈下的项目管理工具选型:Gitee如何为中国企业破局?
  • 论Linux安装后需要进行的配置
  • 51单片机-驱动DS1302时钟芯片模块教程 - 实践
  • tomato WP复盘
  • SQLite的并发问题