如何从jenkins的远程服务器通过SSH下载文件?

时间:2017-05-31 05:19:06

标签: jenkins ssh continuous-integration jenkins-plugins

我在Jenkins中使用Publish Over SSH插件将文件从本地传输到远程服务器,并在远程服务器上执行一些命令。

但是,似乎此插件中没有可用于将文件从远程服务器下载到本地的选项。

有人能协助我如何实现这个目标吗?

1 个答案:

答案 0 :(得分:1)

从管道的角度来看,我有这个解决方法

首先下载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}"
  }
}

为了简洁起见,我避免采取另一个步骤,我改变了一些我做的事情 但我们的想法是做以下步骤

  1. 下载工件(本地)
  2. 解压缩(本地)
  3. 使用我想在远程服务器(本地)中执行的脚本创建一个文件
  4. 将脚本复制到远程服务器
  5. 将解压缩的工件复制到远程服务器
  6. 执行脚本