2015-11-15 13 views
6

Ho intenzione di utilizzare la finestra mobile per creare il mio ambiente di sviluppo e produzione. Costruisco app basata su Django.La finestra mobile è in produzione?

Su dev Io uso docker-compose di rogna tutti i contenitori locali. È una soluzione piacevole e conveniente. Corro Django, 3 code di sedani, rabbitmq, 2 DB postgresql.

Ma il mio ambiente di produzione è molto diverso. Ho bisogno di eseguire gunicorn e nginx. Inoltre, i DB verranno eseguiti utilizzando AWS RDS. Ovviamente l'app di Django richiede più materiale, come file di impostazioni differenti o altri oggetti.

che sto vagando come dividere esso. Dovrei anche io docker-compose? Ciò richiederà file separati per dev e prod, forse più in futuro per la messa in scena, ecc ... Se sì, come distribuirlo? Usando Jenkins, tira, riavvia tutto usando compose?

O forse dovrei usare ansible per essere eseguito direttamente docker comandi? Ma poi non ho la certezza che il mio dev è lo stesso del live ed è più difficile prevederne il comportamento.

Mi piace l'idea di eseguire file Compose tutti gli ambienti, ma non sono sicuro se il mantenimento di più file per ambienti diversi è una buona idea. Dev richiede meno oggetti e meno configurazione. Posso usare il file ENV per impostarli tutti in produzione. Ma dovrei mantenere le mie impostazioni live nel menu? Precedentemente stavo impostando tutti gli oggetti di intrattenimento durante il provisioning e questo era un processo separato. Ora sembra che il provisioning e l'implementazione siano uguali? Forse è così con Docker?

+2

Idealmente l'unica differenza tra Dev e Prod deve essere la scala e l'accesso ai dati. Lo sciame Docker può essere eseguito su EC2 che consente di avere lo stesso flusso di lavoro in produzione. Se si utilizza RDS, l'URL e le credenziali del DB possono essere iniettati nei contenitori utilizzando le variabili di ambiente. Questo può essere simulato in Dev utilizzando database (s) in esecuzione standalone all'interno di contenitori Docker. –

+0

Nel terzo progetto di fila sto usando file separati per ogni ambiente. – Opal

risposta