jenkins配置git仓库步骤与凭证设置教程
遇到Jenkins拉取代码报错?本教程手把手教你配置Git仓库地址,正确添加SSH或HTTP凭证,并演示在自由风格项目和Pipeline中如何调用,彻底解决权限验证难题。
明明Git地址复制对了,Jenkins构建时却总是报“Permission denied”或者“Authentication failed”,这种挫败感做运维的朋友都懂。很多时候,问题不在网络,而在Jenkins不知道“你是谁”,或者它手里的“钥匙”不对。
别急着去改服务器防火墙,最先要检查的其实是Jenkins里的“凭证”和“源码管理”这两处设置是否匹配。只要理清了密钥生成、凭证录入和任务配置这三个环节,90%的拉取失败都能迎刃而解。
准备正确的访问钥匙
在让Jenkins去拉代码之前,你得先确定它用什么身份去拉。如果是私有仓库,通常有两种方式:HTTPS账号密码或SSH密钥。对于自动化构建,SSH密钥更稳定,也无需担心密码过期问题。
如果你选择SSH,需要在运行Jenkins服务的服务器上生成一对密钥。注意,必须使用Jenkins启动用户(通常是jenkins用户)来执行ssh-keygen命令,否则生成的密钥文件权限可能不对,导致Jenkins进程无法读取。

在Jenkins用户环境下生成SSH密钥对
生成后,将公钥(.pub文件内容)添加到Git仓库平台的“Deploy Keys”或你的个人账号SSH设置中。这一步是告诉Git服务器:“这个Jenkins服务器是被允许的”。
在Jenkins中添加凭证
钥匙准备好了,接下来要把它交给Jenkins保管。登录Jenkins后台,点击左侧菜单的“Manage Jenkins”(系统管理),找到“Credentials”(凭证)选项。
建议创建一个专门的域,比如“git-repos”,方便后续管理。点击“Global credentials”(全局凭证)下的“Add Credentials”(添加凭证)。这里有个关键选择:类型选什么?

选择SSH Username with private key类型并粘贴私钥
如果你用的是SSH密钥,类型选择“SSH Username with private key”。Username填git(大多数平台如GitHub、GitLab通用),Private Key选择“Enter directly”,然后把刚才生成的私钥内容完整粘贴进去。ID字段非常重要,建议起一个易懂的名字,比如“git-ssh-key”,后面配置任务时要靠它来识别。
如果是HTTPS方式,则选择“Username with password”,填入你的Git账号和密码(或Personal Access Token)。记得勾选“Treat username as secret”如果平台有特殊要求。
创建任务并关联仓库
凭证存好后,新建一个Freestyle项目或Pipeline。在“Source Code Management”(源码管理)部分,选择Git。
Repository URL填入你的仓库地址。如果是SSH方式,地址格式通常是git@github.com:user/repo.git;如果是HTTPS,则是https://github.com/user/repo.git。这里最容易犯的错误是协议混用:选了SSH凭证却填了HTTPS地址,或者反过来。

在Git配置栏选择对应的凭证ID
在Credentials下拉框中,选择你刚才创建的那个凭证ID。如果列表里没出现,检查一下凭证的作用域是否是Global,或者是否在当前文件夹下可见。点击“Test Connection”或保存后尝试构建,观察控制台输出。
Pipeline中的特殊写法
如果你使用的是Pipeline脚本,配置方式略有不同。你不需要在界面上下拉选择,而是在Jenkinsfile中使用withCredentials或直接引用凭证ID。
对于SSH密钥,通常Jenkins会自动处理,只要在checkout步骤中指定了正确的URL和凭证ID即可。例如:
pipeline {
agent any
stages {
stage('Checkout') {
steps {
checkout([$class: 'GitSCM',
branches: [[name: '*/main']],
userRemoteConfigs: [[credentialsId: 'git-ssh-key', url: 'git@github.com:user/repo.git']]
])
}
}
}
}
注意credentialsId必须与你在凭证管理中设置的ID完全一致。如果使用了HTTPS且需要处理密码,可以使用withCredentials块来包裹git clone命令,避免明文暴露。

Jenkinsfile中指定credentialsId的代码示例
排查常见的“坑”
如果配置完还是报错,先看控制台日志的具体错误码。Host key verification failed通常是因为Jenkins用户第一次连接Git服务器,没有接受主机指纹。解决方法是切换到jenkins用户,手动ssh一次目标Git服务器域名,输入yes接受指纹。
另外,检查私钥格式。OpenSSH新版生成的密钥可能是新格式,某些旧版Jenkins插件可能兼容性不佳,尝试用ssh-keygen -m PEM重新生成传统格式的密钥往往能解决问题。
最后,确认Jenkins服务器本身能连通Git服务器的端口。有时候不是凭证错了,而是单纯的网不通。用curl或telnet测试一下端口,排除网络层面的干扰,剩下的就是配置细节的打磨了。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。
赤友清理大师是一款为 Mac 设计的智能清理优化工具,可精准扫描垃圾、大文件、重复文件等,释放磁盘空间。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。














