我有一个 Jenkins Pipeline 插件的脚本。我已经做了 git clone 和 maven build。但是我在将 *.jar
文件传输到远程服务器时遇到了问题。在 Jenkins 设置中,我已经使用 ssh key 为远程服务器添加了配置。它工作正常。
但是我不明白如何在管道脚本中使用这些设置。我用谷歌搜索了一个例子:
sshagent(['8e9cc002-f19dewiydtwe765-ecec834']) {
sh "ssh user@server \"echo ${env.BUILD_ID}\""
}
但我无法理解此凭据 ID 8e9cc002-f19dewiydtwe765-ecec834
的位置。我可以在 Send files or execute commands over SSH
部分的其他 Jenkins 项目中使用它 - 只需从下拉列表中选择凭据。如何配置管道以使用此凭据( key 、密码、用户名、服务器地址等)?
最佳答案
该凭据 ID 是在您创建凭据时手动指定的,否则如果您不这样做,Jenkins 会为您构建一个丑陋的大ID。您可以在凭据页面上看到该 ID。
我总是手动分配一个 ID,这样我就不必处理那些丑陋的 ID,这样它就可以在 jenkinsfile 中进行 self 记录。
关于maven - 在 Jenkins 管道中使用 SSH 代理凭据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47105581/