我想从Windows Jenkins节点到Linux服务器执行SCP。在此设置中,Windows计算机是Jenkins从属服务器,我要复制的目标服务器是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'
}
}
}
上面的脚本可以工作,但是我们需要使用$ {env.WORKSPACE},因为当前目录可能会更改。所以我在下面尝试了
bat 'scp ${env.WORKSPACE}\\build\\libs\\ssupservice-0.0.1-SNAPSHOT.jar
rxp096p@server:/home/rxp096p/testing'
但是它给我错误$ {env.WORKSPACE} /build/libs/ssupservice-0.0.1-SNAPSHOT.jar没有这样的文件或目录。
答案 0 :(得分:1)
在bat
命令之后使用的单引号似乎没有插值Jenkins环境变量(env.WORKSPACE
)。
请更改
bat 'scp ${env.WORKSPACE}\\build\\libs\\ssupservice-0.0.1-SNAPSHOT.jar rxp096p@server:/home/rxp096p/testing'
到
bat "scp ${env.WORKSPACE}\\build\\libs\\ssupservice-0.0.1-SNAPSHOT.jar rxp096p@server:/home/rxp096p/testing"