使用 Jenkins 管道脚本从 Windows 到 Linux 的 SCP
SCP from Windows to Linux using Jenkins pipeline script
我想 SCP
从 Windows Jenkins 节点到 Linux 服务器。在此设置中,Windows 机器是 Jenkins 从机,我要复制的目标服务器是 Linux。
下面是我的 Jenkins 管道脚本。在下面的脚本运行之前,我正在克隆存储库,然后构建最终创建一个 .jar
文件的项目。我想将此文件复制到 Linux 服务器。
stage('SCP JAR file') {
steps {
bat 'scp /c/Jenkins/workspace/migration/test-project/build/libs/ssupservice-0.0.1-SNAPSHOT.jar rxp096p@server:/home/rxp096p/testing'
}
}
}
我的工作目录是/c/Jenkins/workspace/migration/test-project/
。在给定目录中,build/libs
文件夹会在所需 .jar
文件所在的位置创建。
运行 上面的脚本给出了以下错误:
/c/Jenkins/workspace/migration/test-project/build/libs/ssupservice-0.0.1-SNAPSHOT.jar: No such file or directory
试一试:
pipeline {
agent any
stages {
stage('SCP JAR file') {
steps {
bat '"c:\Program Files\git\usr\bin\scp.exe" -i "c:\Users\tom\.ssh\azure\id_rsa" C:\Users\tom\.jenkins\workspace\scp-to-linux\abc.jar tom@xy.xyz.xy.xz:abc.jar'
bat '"c:\Program Files\git\usr\bin\ssh.exe" -i "c:\Users\tom\.ssh\azure\id_rsa" tom@xy.xyz.xy.xz ls -ltr'
}
}
}
}
注意:在执行scp
时,如果不指定目标文件名,它将在具有 完整源路径 名称的远程服务器。例如,在我的例子中,如果我没有指定此语法,它将在远程服务器上创建名称为 C:\Users\tom\.jenkins\workspace\scp-to-linux\abc.jar
的文件:tom@xy.xyz.xy.xz:abc.jar
我想 SCP
从 Windows Jenkins 节点到 Linux 服务器。在此设置中,Windows 机器是 Jenkins 从机,我要复制的目标服务器是 Linux。
下面是我的 Jenkins 管道脚本。在下面的脚本运行之前,我正在克隆存储库,然后构建最终创建一个 .jar
文件的项目。我想将此文件复制到 Linux 服务器。
stage('SCP JAR file') {
steps {
bat 'scp /c/Jenkins/workspace/migration/test-project/build/libs/ssupservice-0.0.1-SNAPSHOT.jar rxp096p@server:/home/rxp096p/testing'
}
}
}
我的工作目录是/c/Jenkins/workspace/migration/test-project/
。在给定目录中,build/libs
文件夹会在所需 .jar
文件所在的位置创建。
运行 上面的脚本给出了以下错误:
/c/Jenkins/workspace/migration/test-project/build/libs/ssupservice-0.0.1-SNAPSHOT.jar: No such file or directory
试一试:
pipeline {
agent any
stages {
stage('SCP JAR file') {
steps {
bat '"c:\Program Files\git\usr\bin\scp.exe" -i "c:\Users\tom\.ssh\azure\id_rsa" C:\Users\tom\.jenkins\workspace\scp-to-linux\abc.jar tom@xy.xyz.xy.xz:abc.jar'
bat '"c:\Program Files\git\usr\bin\ssh.exe" -i "c:\Users\tom\.ssh\azure\id_rsa" tom@xy.xyz.xy.xz ls -ltr'
}
}
}
}
注意:在执行scp
时,如果不指定目标文件名,它将在具有 完整源路径 名称的远程服务器。例如,在我的例子中,如果我没有指定此语法,它将在远程服务器上创建名称为 C:\Users\tom\.jenkins\workspace\scp-to-linux\abc.jar
的文件:tom@xy.xyz.xy.xz:abc.jar