новый файл ("путь / tmp.txt") на узле Дженкинс - PullRequest
0 голосов
/ 22 ноября 2018

У меня очень простой конвейер, который работает на мастере.Я читал строку в tmp.txt, которая работает на Jenkins (master).

stage ('Stage 1'){
    node('master') {
        File file1 = new File("env.Workspace/tmp.txt")
        def String my_line = file1.readLines().get(0)
        …
    }
}

Мне нужно перенести сцену на другой узел (slave), и он больше не работает.Если в рабочей области мастера есть файл tmp.txt, конвейер читает его.Но я хочу прочитать tmp.txt в рабочей области узла, а не из master!

stage ('Stage 1'){
    node('Agent_1') {
        File file1 = new File("env.Workspace/tmp.txt")
        def String my_line = file1.readLines().get(0)
        …
    }
}

Я нашел информацию, которая:

«Файл всегда подразумеваетпуть к файлу на текущем компьютере ».

Что это значит?Должна быть возможность прочитать файл с узла.

Кто-нибудь может помочь?

1 Ответ

0 голосов
/ 22 ноября 2018

Не используйте встроенные функции Groovy / Java IO, вместо этого используйте шаги конвейера .Причина этого заключается в том, что сам конвейерный код всегда выполняется на главном!

stage ('Stage 1'){
    node('Agent_1') {
        def String my_line = readFile("tmp.txt")
        …
    }
}
...