Как получить доступ к файлу с узла внутри скрипта общей библиотеки Jenkins

#jenkins #jenkins-pipeline

#Дженкинс #дженкинс-конвейер

Вопрос:

Я вызываю сценарий groovy общей библиотеки из моего конвейера Jenkins.

Используя pwd() метод, я могу правильно получить путь к рабочей области, и я даже могу увидеть требуемый файл в том же самом месте в узле Jenkins.

Тем не менее, я получаю следующую ошибку:

 java.io.FileNotFoundException: C:JenkinsworkspaceDemotesttargetsitexyzabc.csv (No such file or directory)
  

У меня есть groovy-scripts/vars/generateHtml.groovy общая библиотека, которая вызывается из конвейера как generateHtml() . Соответствующий фрагмент кода:

 def call() {
  def ws = pwd()
  echo "path ${ws}: generateHtml>start"
  def targetPath = "${ws}\target\"
  def resultFile = targetPath   'site\xyz\abc.csv'
  def data = parseCsv(new File(resultFile).getText('UTF-8'))
...
  

Комментарии:

1. Какой у вас код?

2. @StephenKing добавлен соответствующий фрагмент кода.

Ответ №1:

Чтение файла в конвейерах Jenkins происходит через readFile . Не используйте обычный groovy для ввода-вывода.