Есть ли способ в облачной литейной команде cf push иметь файл manifest.yml с несколькими «профилями»? - PullRequest
0 голосов
/ 16 июня 2019

У нас есть различные настройки (параметры развертывания) для сред prod и для непроданных сред, в отношении памяти, экземпляров и т. Д.

Мы внедряем наши приложения с конвейером Jenkins в средах Pivotal Cloud Foundry, которыев конечном итоге вызов сценария с помощью команды «CF push».

Мы изучаем с помощью двух разных файлов manifest.yml (но не любим двойственность, если одинаковые параметры) Мы также изучаем использование --var-file с двумя разнымиVARS файлы.Мы обеспокоены обратной совместимостью и усилиями (у нас много MS) по добавлению такого количества файлов.

Нам нужен файл manifest.yml, который будет выглядеть следующим образом: - name: myAppName services: - discovery -Профиль сервера конфигурации: dev: память: 1024M экземпляров: 1 prod: память: 4096M экземпляров: 4

Предполагается, что нам нужно будет передать профиль параметра = dev в команду cf push.

В среде DEV будут развернуты 1 экземпляр с 1024M памяти.в среде PROD будет развернуто 4 экземпляра с 4096M.

Ответы [ 2 ]

1 голос
/ 17 июня 2019

Я предлагаю вам пересмотреть использование переменных в вашем манифесте. Вы можете использовать --var-file, но если вы не хотите, чтобы эти файлы присутствовали, вы можете вместо этого просто передать несколько --var=<name>=<val> аргументов.

Это или просто файлы dev.yml и prod.yml, затем вы можете cf push -f dev.yml или cf push -f prod.yml и выбирать между ними. Есть небольшое дублирование, но файлы крошечные, так что это не должно иметь большого значения.

Надеюсь, это поможет!

0 голосов
/ 16 июня 2019

Я не думаю, что пытаться добиться всего с помощью команд CL CLI - это правильный способ сделать

Я бы достиг этого гораздо проще, написав сценарий bash и последовательно выполняя команду cf-push, в зависимости от того, что мне хотелось бы.

...