Mam wymaganie przechowywania informacji o konfiguracji dla każdego środowiska w narzędziu.
Jest to narzędzie z GUI do dodawania / aktualizowania wartości konfiguracyjnych (np. Parametry połączenia). Powinna mieć wartość domyślną i być w stanie ją zmienić w zależności od różnych środowisk.
Powinien istnieć interfejs API do pobierania tych wartości konfiguracyjnych podczas wdrażania w określonym środowisku w celu dodania do aplikacji.
Szukałem przez chwilę i nie widzę żadnych narzędzi, które pasowałyby do tego rachunku. Czy są jakieś sugestie?
Uwaga : obecnie ustawienia są w zmiennych TeamCity, a wdrożenie odbywa się za pomocą skryptów PowerShell.
Odpowiedzi:
Istnieje wiele narzędzi, które mogą zrobić coś takiego, w tym narzędzia do zarządzania konfiguracją, takie jak Chef, Ansible lub Puppet; oraz narzędzia KVS, takie jak Consul i etcd. Możesz również zintegrować go jako krok kompilacji z serwerem CI lub ominąć problem, używając konfiguracji na żywo w czasie wykonywania względem zewnętrznego magazynu konfiguracji (ponownie coś w rodzaju Consul lub etcd, lub dowolnej bazy danych).
źródło
Być może inne repo? Jeden z oddziałami dla kontroli jakości, UAT, Prod (lub więcej). Repozytorium różniące się od zwykłych repozytoriów „Kod jako kod” i „Infrastruktura jako kod”.
Jest wysoce dopracowany. Ile konfiguracji na środowisko. Czy przełącza się między wydaniami? Jeśli te stany przełączające utrzymają stan pomimo wdrożeń binarnych. Dla którego klienta, klienta, gościa lub użytkownika utrzymujesz konfigurację?
Przez 5 lat napisałem wiele wpisów na blogu (i prototypów / demonstracji) na ten temat - w tym interfejsy użytkownika do przełączania (jeśli ich potrzebujesz).
źródło