Лучший способ сохранить путь развертывания в jenkins

#jenkins #jenkins-pipeline #jenkins-plugins

#дженкинс #дженкинс-конвейер #дженкинс-плагины

Вопрос:

Я создаю конвейер jenkins для всех наших приложений, которые я хотел создать и развернуть. Я могу добиться этого, но все пути развертывания жестко запрограммированы в сценарии конвейера.

У нас есть около 8 приложений и 5 сред. это означает, что мне нужно указать 40 различных путей развертывания в сценариях конвейера.

Мне хотелось бы знать, есть ли лучший способ сохранить путь развертывания?. Я думал о том, чтобы сохранить их в XML и прочитать это во время сборки, но не уверен в реализации.

ищу несколько идей.

 script {
    def msbuild tool name: 'Msbuila', type: 'msbuild'
    def action "${msbuild}\msbuild.exe"
    def rootPath "${NORKSPACE}\test\test";
    def sinPath "${rootPath}\test.sin"
    def binPath "${rootPath}\test\bin"

    bat “nuget restore "${sinPath}""
    bat ""${action}" "${sinPath)" "
    robocopy(""${binPath}" "\\t.test.com\test" /MIR /xF ")
}
 

Ответ №1:

Что я бы сделал, так это использовал репозиторий конфигурации, настроив его таким образом:

  • Каждое приложение представляет собой отдельный репозиторий (пример: app_config)
  • Каждая среда представляет собой отдельный файл
  • Один и тот же файл среды в каждом репозитории вызывается с тем же именем
  • Каждый файл среды является yaml (ключ: значение)

Затем в конвейере jenkins я бы получил репозиторий, прочитал yaml с помощью readYAML (проверьте использование и имя команды, прошло некоторое время с тех пор, как я его использовал) и загрузил его на карту.

Затем вы используете переменные карты, и это должно вам помочь

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

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

1. похоже, что в каждом приложении у вас будет несколько файлов yaml для каждой среды, и на основе выбора среды будет загружен соответствующий yaml.

2. Это правильно … Для удобства вы можете назвать файл yaml после каждой среды