jenkins - Jenkins 流水线脚本中的当前工作目录
问题描述
我想做从 Windows Jenkins 节点到 Linux 服务器的 SCP。在此设置中,Windows 机器是 Jenkins 从机,而我要复制的目标服务器是 Linux。
下面是我的 Jenkins 流水线脚本
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 no such file or directory。
解决方案
似乎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"
推荐阅读
- python - 高效地将大型时间序列数据集加载到 KairosDB
- javascript - CSS填充不适用于反应js中的div
- reactjs - React/Redux:我没有设法用 Redux Wrap 包装我的 React 登录请求
- react-native - 为什么 React Native 中的 post 请求无法发送?
- python - 如果我使用 github 在 Heroku 上部署我的 Twitch 机器人,当变量在使用时被编辑时,这是否反映在 github 代码中?
- html - HTML 规范中的文档树子浏览上下文是什么?
- typescript - 出现错误信息 TypeError: this.subQuery is not a function
- c++ - Rand() command generates the same numbers every time
- javascript - Create and save PDF to server from a pdf base 64 string
- python - 如何使用 Python 在特定表中搜索特定值并从另一个表返回匹配响应