
Jenkins 版本:Jenkins 2.341
一、配置流程
1.1 片段生成
1、按如下图选择

2、新增密钥信息

1.2 脚本配置
以上配置完成后,接下来就可以在 Jenkinsfile 中配置了,具体配置如下图:

⚠️注意:使用密钥形式的推送方式,sshPut、sshCommand 等相关命令必须放到 remote.* 下,否则报如下错误:

与 withCredentials.usernamePassword 方式不同的是,withCredentials.usernamePassword 则可以紧跟 remote.* ,也可以不紧跟,具体如下:

二、小结
为了服务器账户安全,jenkins 远程部署时可使用withCredentials() 方法来实现密码加密,常用的有用户名/密码方式、SSH 用户密钥对 方式来实现,当然还有其他方式,图下图所示:

但要注意的一点是,用户名/密码方式和SSH 用户密钥对 方式在 Jenkinsfile 脚本结构上有一点小区别:
-
SSH 用户密钥对方式:sshPut、sshCommand等相关命令必须紧跟remote.* -
用户名/密码方式:sshPut、sshCommand等相关命令可以紧跟remote.*,也可以不紧跟。
至此,Jenkins Pipeline 密钥远程部署已经配置完成!
本文介绍了如何在Jenkins Pipeline中配置SSH密钥进行远程部署,详细解析了片段生成和脚本配置步骤,包括withCredentials的使用方法。重点指出SSH密钥对方式与用户名/密码方式在Jenkinsfile脚本结构上的差异,帮助提升服务器账户的安全性。
2509





