Как стать автором
Обновить

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

Круто, конечно, но какой-то Overengineering получается. Один из вариантов (см. The Twelve-Factor App:
The twelve-factor app stores config in environment variables (often shortened to env vars or env).
Действительно неплохие мысли. И да, похожее делал на TeamCity+MSDeploy и на TeamCity+OctopusDeploy. В большой инфраструктуре с большим количеством инсталляций ПО незаменимо.
Откройте для себя готовое ПО discovery services
Consul, etcd, Zookeeper…
Спасибо, обязательно посмотрю.
А к ним confd, который позволяет создавать динамическую конфигурацию для приложений.

Но я так понимаю, здесь используются сервера на windows?
А зачем и Python и Powershell? Можно же и одним из них обойтись.
Можно, конечно. Но в моем случае это осознанный выбор. Дело в том, что в качестве CI-сервера я использую Bamboo, а он хорошо работает с ps-скриптами и не очень хорошо со всем остальным. А для ConfigStorage выбран питон, потому что я хотел мультиплатформенность, ибо не знал заранее на чем он будет крутиться.

Неплохо, надеюсь масштабы инфраструктуры будут использовать это сполна. В моем случае я бы либо ограничился переменными окружения сред, либо (при действительно волатильной инфраструктуре) двинулся в сторону готовых discovery serivices. Consul выглядит великолепно.

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

Да, вижу где собака зарыта :)


Все зависит от среды, конечно. Например в AWS все проще. Переменные задаются на каждую среду, и еще можно запихнуть их в CloudFormation...

файлы изменений очень удобно делать с помощью xslt — SlowCheetah просто великолепный инструмент, особенно в функции preview.

Подход с отдельным сервером конфигов достаточно спорный. этим он точно становится клоном consul.
12 factor app c ENV классная вещь, особенно с «наконец» сделанными нормальным управлением параметрами конфигурации Microsoft.Extensions.Configuration.

Я пока живу с критичными настройками в отдельном репозитории и обновлением при накатке с OctopusDeploy.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории