Jenkins / Groovy перемещает переменные в файл конфигурации - PullRequest
0 голосов
/ 10 сентября 2018

Меня попросили переместить некоторую переменную из скрипта Groovy в файл конфигурации.Я в порядке, используя что-то вроде: -

readFile('../xx-software.cfg').split('\n').each { fileName ->
        sh "wget ${theURL}${fileName}"
      }

Однако, хотя я добавил xx-software.cfg в тот же каталог, что и мой скрипт Groovy, он становится доступным для использования в этом скрипте groovy.

Надеюсь, это имеет смысл !?

Как я могу переместить мои переменные в файл конфигурации, чтобы команде поддержки приложений было легче вносить будущие изменения без изменения кода?

1 Ответ

0 голосов
/ 10 сентября 2018

Существует несколько подходов, которые вы можете использовать.

Во-первых, формат файла для конфигурации и способ считывания данных в переменные.Вы можете использовать формат Java Properties, YAML или JSON, и все они обрабатываются плагином Pipeline Utility Steps с шагами здесь .Вы можете прочитать файл с помощью следующих шагов:

  • readProperties
  • readYaml
  • readJSON

Следующая проблема, как получить файлдоступны для вашего конвейера, так что его можно прочитать из рабочей области, используя эти шаги.Возможны следующие варианты:

  • В системе контроля версий с кодом вашего конвейера.Его можно получить с помощью конвейера.
  • В отдельном элементе управления источником для настройки вашему конвейеру потребуется шаг для его извлечения.
  • Используйте плагин Jenkins Config File Provider .В нем есть шаг, чтобы предоставить файл конфигурации, управляемый в Jenkins.
  • Предоставить его в виде архива Custom Tool с бинарным сервером, таким как Artifactory.Вы можете использовать пользовательские шаги конвейера определения инструмента, чтобы сделать его доступным для конвейера.

Опция Config File Provider может предоставить любой простой способ получить файл, который можно обновить, но не будетлюбой контроль версий этого.

...