#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 после каждой среды