У меня есть требование для хранения информации о конфигурации в инструменте для каждой среды.
Это инструмент с графическим интерфейсом для добавления / обновления значений конфигурации (например, строк подключения). Это должно иметь значение по умолчанию и иметь возможность изменять его в зависимости от различных сред.
Должен быть API для извлечения этих значений конфигурации во время развертывания в конкретной среде для добавления в приложение.
Я искал некоторое время и не вижу никаких инструментов, которые бы подходили под этот счет. Есть какие-нибудь предложения?
Примечание . В настоящее время настройки находятся в переменных TeamCity, а развертывание - через сценарии PowerShell.
Ответы:
Есть много инструментов, которые могут сделать что-то подобное, включая инструменты управления конфигурацией, такие как Chef, Ansible или Puppet; и инструменты KVS, такие как Consul и т. д. Вы также можете интегрировать его в качестве шага сборки на своем сервере CI или обойти проблему, используя оперативную конфигурацию во время выполнения, с внешним хранилищем конфигурации (опять же, что-то вроде Consul или etcd или любой базы данных вообще).
источник
Возможно другое репо? Один с ответвлениями для QA, UAT, Prod (из ни более). Репо отличается от ваших обычных репо «Код как код» и «Инфраструктура как код».
Это очень нюанс. Сколько конфиг на env. Это переключается между выпусками? Должны ли эти состояния переключения поддерживать состояние, несмотря на двоичное развертывание. Для какого клиента, клиента, гостя или пользователя вы поддерживаете конфигурацию?
За 5 лет я написал несколько записей в блогах (и прототипах / демонстрациях) по этой теме, включая пользовательские интерфейсы для переключения (если они вам нужны).
источник