相关疑难解决方法(0)

Jenkins管道和java.nio.file.*方法的问题

我试图使用java.nio.file.*中的方法在Jenkins管道中执行一些基本的文件操作.无论代码存在于哪个节点块,代码都在主节点上执行.在管道中,我已经验证了各种节点块是正确的 - 它们唯一地标识特定节点.但是,pathExists(以及移动,复制或删除文件的其他代码)始终在主节点上执行.任何想法发生了什么或如何解决它?

import java.nio.file.*

String slavePath = 'C:\\Something\\only\\on\\slave\\node'
String masterPath = 'D:\\Something\\only\\on\\master\\node'

def pathExists (String pathName)
{
    def myPath = new File(pathName)
    return (myPath.exists()) 
}

stage('One') 
{
    node ('slave')
    {
        bat returnStatus: true, script: 'set'
        println (pathExists(slavePath))     // Should be true but is false.
        println (pathExists(masterPath))    // Should be false but is true.
    }
    node ('master')
    {
        bat returnStatus: true, script: 'set'
        println (pathExists(slavePath))     // false
        println (pathExists(masterPath))    // true
    }
}
Run Code Online (Sandbox Code Playgroud)

java groovy jenkins java.nio.file jenkins-pipeline

6
推荐指数
1
解决办法
2603
查看次数

标签 统计

groovy ×1

java ×1

java.nio.file ×1

jenkins ×1

jenkins-pipeline ×1