我在Jenkins中使用Publish Over SSH插件将文件从本地传输到远程服务器并在远程服务器上执行一些命令.
但是,似乎此插件中没有可用于将文件从远程服务器下载到本地的选项.
有人可以帮助我如何实现这一目标?
最佳答案 从管道的角度来看,我有这个解决方法
首先在你的Jenkins服务器实例中下载
stage("Download") {
steps {
fileOperations([fileDownloadOperation(password: "", targetFileName: "${params.APP_KEY}.zip", targetLocation: "${params.HOME_PATH}", url: "${params.ARTIFACT_URL}", userName: "")])
}
}
然后用scp指令复制
stage("Download last version") {
sshagent(['xxxx-xxxx-xxxx-xxxx-xxxx']) {
sh "scp ${params.APP_KEY_PATH}/${params.APP_KEY}.ZIP ${params.REMOTE_SERVER_USER}@${params.REMOTE_SERVER_URL}:${params.REMOTE_APP_KEY_PATH}"
}
}
为了简洁起见,我避免采取另一个步骤,我改变了一点我做的事情
但这个想法是做以下步骤
>下载工件(本地)
>解压缩(本地)
>使用我想在远程服务器中执行的脚本创建一个文件(本地)
>将脚本复制到远程服务器
>将解压缩的工件复制到远程服务器
>执行脚本