从 Windows 节点上的 Jenkins Pipeline 上的文件路径中删除了反斜杠

问题描述 投票:0回答:1

我有一个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 jenkins-pipeline jenkins-groovy
1个回答
0
投票

我遇到了同样的问题,并发现了与此问题相关的错误:Jenkins Jira 问题

作为临时解决方案,我使用了这样的 WORKSPACE 重新定义:

environment {
    
    WORKSPACE = WORKSPACE.replaceAll('\\\\', '/')
© www.soinside.com 2019 - 2024. All rights reserved.