我有一个jenkins管道文件,这个阶段在Windows节点上执行(主节点在Mac上运行的容器上)。我正在尝试将 exe 文件从从站中的目录复制到同一从站上的当前工作目录(由工作区创建的目录)
如果我在我的詹金斯文件上执行此操作:
def myPath = "c:\\Users\\user1\\jenkins\a\\b\\c\\d\\"
sh "ls $myPath"
这个效果很好。但是,这需要使用当前工作目录。
所以我正在做这样的事情
def fileDirDestination = "\\b\\c\\d\\""
def fullFileDest = "${env.WORKSPACE}" + fileDirDestination
通过这样做,我最终没有任何反斜杠。我还尝试了四个引号“”“”和四个反斜杠
cusersuser1jenkinsabcd
我也尝试过这个:
def destinationFilePath = new FilePath(channel, build.workspace.toString() + "\\\\a\\\\b\\\\c\\\\d")
destinationFilePath.list()
这实际上会导致上面提到的相同问题(没有反斜杠的路径)
有什么想法吗?
我遇到了同样的问题,并发现了与此问题相关的错误:Jenkins Jira 问题
作为临时解决方案,我使用了这样的 WORKSPACE 重新定义:
environment {
WORKSPACE = WORKSPACE.replaceAll('\\\\', '/')