Strumento per la memorizzazione della configurazione per ambiente


11

Ho un requisito per memorizzare le informazioni di configurazione in base all'ambiente in uno strumento.

Questo è uno strumento con una GUI per aggiungere / aggiornare i valori di configurazione (ad es. Stringhe di connessione). Questo dovrebbe avere un valore predefinito ed essere in grado di cambiarlo in base a diversi ambienti.

Dovrebbe esserci un'API per recuperare questi valori di configurazione durante la distribuzione in un particolare ambiente da aggiungere all'applicazione.

Ho cercato per un po 'e non riesco a vedere alcuno strumento adatto a questo conto. Ci sono dei suggerimenti?

Nota : attualmente le impostazioni sono nelle variabili TeamCity e la distribuzione avviene tramite script PowerShell.


In cambio di cose pagate? Hai qualche sistema di gestione della configurazione? cosa usi per distribuire?
Tensibai,

Le opzioni a pagamento saranno configurate. Attualmente le impostazioni sono nelle variabili TeamCity e la distribuzione avviene tramite script PowerShell.
tim

Non strettamente una risposta, quindi un commento - hai preso in considerazione l'utilizzo di Octopus Deploy per le distribuzioni in quanto ti consente di gestire la configurazione ambientale in modo altamente flessibile.
Richard Slater,

Se si utilizza un sistema di controllo del codice sorgente ramificato, come ClearCase, è possibile semplicemente ramificare i file con modifiche, è possibile esaminare le strategie per la gestione delle modifiche OSD (dipendenti dal sistema operativo) in VCS. Se usi git, dovresti continuare a reimpostare costantemente i rami non predefiniti. Alcuni strumenti di configurazione hanno impostazioni per ambiente tramite variabili. In Ansible ho file con valori predefiniti variabili e overlay per ambienti non di produzione. Non memorizzare alcuna impostazione negli strumenti CI, dovrebbero essere tutti in VCS. Comprese le configurazioni TC.
Jiri Klouda,

consiglia di memorizzare tutta la configurazione con sorgente. disponiamo di più servizi azzurro e utilizziamo la sintassi della trasformazione azzurro per tutte le personalizzazioni dell'ambiente. vedi msdn.microsoft.com/en-us/library/dd465318(v=vs.100).aspx . E lo facciamo effettivamente con PowerShell al momento della distribuzione come parte dell'installazione. A seconda di dove si è agganciati alla pipeline, è possibile farlo prima di mettere i bit sulla scatola o, per le password, dopo. Usiamo Azure Key Vault per i segreti in modo che non vengano mai visualizzati nel controllo del codice sorgente.
Nessun rimborso Nessun

Risposte:


6

Esistono molti strumenti che possono fare qualcosa del genere, inclusi strumenti di gestione della configurazione come Chef, Ansible o Puppet; e strumenti KVS come Console ed ecc. È inoltre possibile integrarlo come passaggio di creazione nel server CI o evitare di risolvere il problema utilizzando la configurazione live in fase di esecuzione su un archivio di configurazione esterno (di nuovo, qualcosa come Console o etcd o qualsiasi altro database).


1

Forse un repo diverso? Uno con filiali per QA, UAT, Prod (di né altro). Un repository diverso dai normali repository "Codice come codice" e "Infrastruttura come codice".

È altamente sfumato. Quanto config per env. È alternato tra le versioni? Se tali stati di attivazione / disattivazione mantengono lo stato nonostante le distribuzioni binarie. Per quale cliente, cliente, ospite o utente mantenere la configurazione?

Ho scritto un sacco di articoli sul blog (e prototipi / demo) sull'argomento in 5 anni - comprese le interfacce utente per la commutazione (se ne hai bisogno).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.