如何在jenkinsfile中为管道作业使用凭证类型"SSH用户名和私钥"

Pra*_*h P 4 groovy jenkins

我正在尝试使用jenkinsfile中的ssh运行远程命令.为此,我使用*.pem文件来访问远程机器.我已经在jenkins中使用"具有私钥的SSH用户名"类型创建了jenkins凭据.

有没有我可以使用内部jenkinsfile而不是给SH"的ssh -i*.PEM用户名@ hostname命令"来验证凭据什么办法?

小智 10

不,你需要使用Jenkins Credentials Binding Plugin.基本上你从密钥文件创建一个绑定,将密钥设置为任何变量,让我们说mykey,你可以使用构建脚本中的密钥作为cat mykey.或者将您的构建脚本存储为:

cat mykey > sshkey
chmod 600 sshkey
eval `ssh-agent -s`
ssh-add sshkey
Run Code Online (Sandbox Code Playgroud)

然后你可以ssh自添加ssh密钥这篇文章奠定了Jenkins Credentials Binding插件的所有功能真的很好https://support.cloudbees.com/hc/en-us/articles/203802500-Injecting-Secrets-into-Jenkins -build -乔布斯