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 密钥远程部署已经配置完成!