Vagrant's Users: quali sono i suoi svantaggi? [chiuso]

7

Ho studiato link per diversi giorni e vorrei un feedback da parte di persone che lo usassero in un contesto professionale o per progetti personali. Penso di avere le cose positive che possono portare Vagrant ma ho delle domande sui suoi inconvenienti:

  • Sono uno sviluppatore di php e lavoro in una piccola azienda. Mi chiedo se Vagrant potrebbe essere utile per me e i nuovi arrivati nella mia azienda dal momento che sta costringendo un ambiente di sviluppo totale. Voglio dire, le persone spesso preferiscono lavorare sul loro sistema operativo (Linux / Mac / Windows). Come ti occupi di questo, imponi a tutti di usare Linux per esempio?
  • Non aggiunge complessità dato che stai lavorando interamente su una macchina virtuale?
  • Non temete che il vostro file principale della VM venga danneggiato un giorno e non sareste in grado di usarlo di nuovo? Mi sento nervoso all'idea di usare VM per questo.

Grazie.

    
posta phemios 10.04.2013 - 10:25
fonte

1 risposta

13

Il vantaggio principale di lavorare con una macchina virtuale è che è possibile ottenere rapidamente un ambiente di sviluppo attivo e funzionante. Un'applicazione moderna e complessa utilizza probabilmente un numero di dipendenze esterne, come vari server di database, demoni di messaggi e quant'altro. Installarli singolarmente su ogni sviluppatore per un ambiente di sviluppo locale può essere piuttosto complicato. Utilizzando un'immagine della macchina virtuale, è possibile distribuire facilmente un ambiente preconfigurato.

Questo non significa che imposti questa immagine una volta e incrocia le dita che non si corromperà mai. Inoltre, non significa che gli sviluppatori scrivano il loro codice all'interno della macchina virtuale. Per creare la macchina virtuale, dovresti creare script che possono impostare un SO di base allo stato desiderato. Guarda Ansible , Chef , Puppet , semplici script di shell e strumenti simili per questo. Questi script possono essere utilizzati per configurare una macchina virtuale, il sistema di produzione, i sistemi di test ecc. Tutti dalla stessa fonte. Creare e distribuire un'immagine completa di una macchina virtuale è solo un risparmio di tempo, dal momento che tali script potrebbero richiedere del tempo per essere eseguiti. Ti permette anche di ripristinare facilmente il tuo ambiente a uno stato buono conosciuto se hai fatto un casino. L'immagine VM non è la tua unica e unica fonte; se corrompe non ha importanza, dal momento che non contiene dati o codice e dal momento che puoi semplicemente ricrearlo.

In secondo luogo, percorsi vagabondi delle mappe all'interno della macchina virtuale ai percorsi sul computer host. I tuoi sviluppatori possono semplicemente scrivere il loro codice come al solito sulla loro macchina normale e solo eseguirlo all'interno della VM. Poiché i percorsi sono condivisi, ciò può avvenire immediatamente senza la necessità di copiare i file avanti e indietro.

  1. Forse vagabondo può esserti utile, se la tua app richiede una configurazione complessa.
  2. Non proprio, poiché non cambia molto.
  3. Vedi sopra.
risposta data 10.04.2013 - 10:39
fonte

Leggi altre domande sui tag