Problemametodi per la gestione dei file di configurazione tra più ambienti
Usiamo file WAR java e mantenere i file di configurazione in secchi s3. I nostri ambienti: DEV, QA, Stage e PROD hanno ciascuno i propri file di configurazione e bucket s3. Se aggiungo un nuovo campo, come "Polling_RATE = 5000", , deve essere aggiunto manualmente a ogni env perché questi file di configurazione memorizzano anche le password in modo che non possano essere legate all'applicazione o mantenute all'interno di Github. Non tutti gli ingegneri hanno accesso a ogni ambiente, quindi è necessario ricordare di informare gli ingegneri di livello superiore (DEVOPS) prima della data di implementazione del pungolo per aggiungere il nuovo campo per far funzionare l'applicazione. È un processo davvero complicato al momento.
Domanda
C'è un programma di utilità o un modello di progettazione architettonica destinata a far fronte a questo? Come fai a "controllare la versione" i campi sensibili di configurazione che non puoi memorizzare all'interno di github?
Grazie Rohit. Questo significa che hai una istanza di dynamodb che contiene la configurazione per ogni ambiente? –
Sì. 1 tavolo per ambiente. E un lavoro di Jenkins per caricare i dati in questa tabella da csv che viene mantenuto come parte di git repo. – Rohit
Se aggiungo nuove proprietà all'istanza dynamodb DEV. Devo ricordare manualmente di aggiornare le altre 3 istanze di dynamodb o questo singolo lavoro di jenkins copre tutti gli envs? –