Как создать jenkins pipeJob через Configuration в виде кода? - PullRequest
0 голосов
/ 30 января 2019

Я хочу создать простое конвейерное задание в моей конфигурации Jenkins с помощью скрипта.Итак, мой файл jenkins.yaml выглядит следующим образом:

 jobs:
  - script: >
      pipelineJob('Tag Repositories') {
        definition {
          cps {
            def theScript = readFileFromWorkspace('git_tag_job.groovy')
            script(theScript)
            sandbox()
          }
        }
      }

Поэтому я подумал, что файл git_tag_job.groovy может находиться в домашнем каталоге Jenkins, но похоже, что readFileFromWorkspace просматривает рабочую область этой работы, которая не имеетеще не было создано.В результате я получаю сообщение об ошибке NPE, поскольку рабочая область равна нулю.

Теперь вопрос заключается в том, как я могу использовать плагин «Конфигурация как код», чтобы добавить это задание с содержимым git_tag_job.groovy в качестве сценария?

Скрипт огромен, и я не могу поместить его в файл Yaml.

Меня удивляет то, что эта конфигурация и readFileFromWorkspace бесполезны, если мы не можем загрузить скрипт откуда-то, потому что он оченьредко, когда у вас есть конвейерное задание с однострочным скриптом, поэтому загрузка из файла - единственный практический вариант.

Я что-то здесь упустил или есть какой-то другой способ сделать это?

1 Ответ

0 голосов
/ 01 февраля 2019

начальное создание заданий с помощью CasC, запроектированное без рабочего пространства.Вся ваша конфигурация должна управляться «как код» и иметь версии.в вашем случае скрипт задания может быть загружен из URL, тега git и т. д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...