我有一个jenkins管道文件,这个阶段在windows节点上执行(主节点在Mac上运行的容器上)。我正试图将一个exe文件从slave中的一个目录复制到同一个slave上的当前工作目录(由工作区创建的那个)
如果我在我的Jenkins文件上这样做:
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()
型
这实际上导致了上面提到的同样的问题(没有反斜杠的路径)
有什么想法吗?
1条答案
按热度按时间gupuwyp21#
我遇到了同样的问题,并发现了一个与此问题相关的bug:Jenkins Jira issue
作为一个临时的解决方案,我使用了WORKSPACE重定义,如下所示:
字符串