Narzędzie do przechowywania według konfiguracji środowiska

11

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.

tim
źródło
Gotowy na płatne rzeczy? Czy masz system zarządzania konfiguracją? czego używasz do wdrożenia?
Tensibai
Płatne opcje zostaną skonfigurowane. Obecnie ustawienia są w zmiennych TeamCity, a wdrożenie odbywa się za pomocą skryptów PowerShell.
tim
Nie jest to jednoznaczna odpowiedź, stąd komentarz - czy rozważałeś zastosowanie Octopus Deploy do wdrożeń, ponieważ pozwala to na zarządzanie konfiguracją środowiska w bardzo elastyczny sposób.
Richard Slater
Jeśli używasz rzadkiego systemu kontroli źródła gałęzi, takiego jak ClearCase, możesz po prostu rozgałęzić pliki z modyfikacjami, możesz spojrzeć na strategie obsługi zmian OSD (zależnych od systemu operacyjnego) w VCS. Jeśli używasz git, będziesz musiał ciągle wypuszczać gałęzie inne niż domyślne. Niektóre narzędzia konfiguracyjne mają ustawienia środowiska według zmiennych. W Ansible mam plik ze zmiennymi wartościami domyślnymi i nakładkami dla środowisk nieprodukcyjnych. Nie przechowuj żadnych ustawień w narzędziach CI, wszystkie powinny być w VCS. W tym konfiguracje TC.
Jiri Klouda
zaleca się przechowywanie całej konfiguracji ze źródłem. mamy wiele usług lazurowych i używamy składni transformacji lazurowej do wszystkich dostosowań środowiska. zobacz msdn.microsoft.com/en-us/library/dd465318(v=vs.100).aspx . I faktycznie robimy to za pomocą programu PowerShell w czasie wdrażania w ramach instalacji. W zależności od tego, gdzie podpinasz się do potoku, możesz to zrobić przed umieszczeniem bitów na pudełku lub, w przypadku haseł, po. Korzystamy z usługi Azure Key Vault dla sekretów, aby nigdy nie pojawiały się w kontroli źródła.
Bez zwrotów Bez zwrotów

Odpowiedzi:

6

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).

Adrian
źródło
1

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).

paul_h
źródło