Distribuisci un sito web tramite apt / yum in ambienti diversi senza ricostruire per ciascuno?

1

Voglio configurare una pipeline di integrazione continua per la prima volta. Ho un sito web che include un file di configurazione che punta a MySQL e Redis. Vorrei creare un pacchetto una volta e quindi distribuirlo per testare, UAT e ambienti live.

Non voglio ricostruire il pacchetto dopo averlo distribuito su ogni ambiente perché potrebbe causare incoerenze tra build, ma non vedo un'alternativa perché il file di configurazione dovrebbe essere diverso a seconda dell'ambiente in cui è stato distribuito (il server di test userebbe un database diverso per vivere o UAT).

Qualcuno ha qualche idea su come sarebbe possibile?

    
posta notebox 23.07.2015 - 13:53
fonte

2 risposte

0

Potresti voler esaminare strumenti come lo chef o il burattino, poiché sono costruiti per questo tipo di cose (provisioning). So che lo chef utilizza modelli e variabili nella sceneggiatura per sostituirli. Se un framework come questo non è desiderato, è sempre possibile utilizzare una sostituzione simile nello schema di distribuzione o prevedere che la configurazione sia posizionata staticamente in una directory esterna che non viene eseguita dalla distribuzione e creata in un'immagine per quell'ambiente o una volta. (si applicano gli svantaggi in scala).

    
risposta data 24.07.2015 - 00:51
fonte
0

Ho deciso che il modo migliore per farlo sarà eliminare il file di configurazione dalla cartella di configurazione dei siti Web.

Creerò quindi un file di configurazione diverso per ogni ambiente che verrà memorizzato in puppet. Puppet può quindi aggiungere il file di configurazione corretto nella cartella di configurazione dei siti web sulla fornitura in base all'ambiente su cui è in esecuzione.

    
risposta data 24.07.2015 - 13:35
fonte