ProblemMetody zarządzania plików konfiguracyjnych między wieloma środowiskami
Używamy plików java Wojna i przechowywać pliki konfiguracyjne w s3 wiadrach. Nasze środowiska: DEV, QA, Stage i PROD mają własne pliki konfiguracyjne i s3. Jeśli dodaję nowe pole, takie jak "Polling_RATE = 5000", , należy je ręcznie dodać do każdego env, ponieważ te pliki konfiguracyjne również przechowują hasła, aby nie mogły być powiązane z aplikacją lub przechowywane w Github. Nie każdy inżynier ma dostęp do każdego env, więc musisz pamiętać, aby poinformować inżynierów wyższego poziomu (DEVOPS) przed datą wdrożenia prod, aby dodać nowe pole do działania aplikacji. Jest to obecnie bardzo brudny proces.
Pytanie
Czy istnieje narzędzie lub architektoniczny wzorzec projektowy oznaczało sobie z tym poradzić? Jak kontrolować "wrażliwe" pola konfiguracyjne, które nie mogą być przechowywane w github?
Dzięki Rohit. Czy to oznacza, że masz jedną instancję dynamodb, która trzyma konfigurację dla każdego env? –
Tak. 1 stół na środowisko. I zadanie Jenkinsa, aby załadować dane do tej tabeli z csv, który jest utrzymywany w ramach repozytorium git. – Rohit
Jeśli dodaję nowe właściwości do instancji dynamodb DEV. Czy muszę ręcznie pamiętać o aktualizacji 3 innych instancji dynamodb, czy też ta pojedyncza praca obejmuje wszystkie env? –