maven - 在 Jenkins 管道中使用 SSH 代理凭据

标签 maven jenkins ssh

我有一个 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/

相关文章:

eclipse - 尝试了解如何使用 Maven 和 Eclipse

java - Maven 将具有依赖项的 jar 部署到 repo

c# - MSBuild 未将文件复制到发布文件夹?

linux - Jenkins 间歇性构建失败

linux - 为什么 SSH 会反复显示此消息?

java - 将值传递给 Channel System.in

php - 网站被黑,如何使用 SED/GREP 删除恶意代码

java - "Broken"本地存储库 - 我如何注意到?我怎样才能阻止它发生?

maven - 如何将非 Maven 代码添加到 boot-clj/boot 中?

unix - Jenkins 似乎是通过 ssh 启动的脚本中 nohup 的目标,我该如何防止?