VCS a Vagrant box [chiuso]

-2

Ho due computer (1 portatile con Ubuntu che uso per lo sviluppo nel 99% del mio tempo, ma ho anche un PC praticamente inutilizzato con Windows.) Ho anche un computer server inutilizzato a casa. il mio PC per lo sviluppo attivamente perché ha 2 monitor che possono essere estremamente utili quando la velocità è importante nello sviluppo.

Ho già una macchina Vagrant sul mio laptop (sì, una macchina di sviluppo in una macchina di sviluppo) ma è come 50GB ora che è difficile da sincronizzare, anche sulla rete locale. Ho pensato di eseguire il controllo delle versioni del mio box con il server ma non sono riuscito a trovare nessun altro metodo ma lo ho caricato e scaricato.

Ho pensato di fare il versioning solo dei miei file con Git al server, ma uso un sacco di software personalizzati che non voglio portare con me su una pendrive ogni volta che salgo al mio PC.

Le cose che devo sincronizzare:

  • dipendenze node.js con attributo -g (non installato localmente nell'origine)
  • Configurazione di PHPStorm (build e layout)
  • I miei ultimi comandi nel terminale (faccio molte cose sulla sicurezza e mi piace tornare ai miei ultimi comandi usati se li trovo con un duro lavoro
  • Altri programmi più piccoli
  • E naturalmente la mia configurazione Gimp che sembra all'80% come PhotoShop.

Molte di queste cose non sono su Vagrant (ad esempio PHPStorm), ma ho ancora bisogno di sincronizzarle. Ho abbastanza hardware per creare più server se necessario, ma vorrei mantenere sincronizzati i due computer. Posso installare Ubuntu sulla mia macchina Windows se necessario e sono aperto a qualsiasi opzione che sia meno impegnativa di copiare 50 GB su un server e quindi scaricarlo ogni volta che cambio macchina.

    
posta Laszlo L. Mári 26.02.2015 - 17:33
fonte

1 risposta

0

Quello che stai descrivendo (in parte) è l'automazione della configurazione di un ambiente. Ci sono molti strumenti per aiutare in questo; Puppet , Ansible , Chef per nominarne solo tre.

La configurazione implica che l'ambiente in cui è in esecuzione l'applicazione contenga tutto ciò di cui ha bisogno: pacchetti, servizi, file, utenti. Potresti fare tutto questo a mano, ma è dispendioso in termini di tempo e incline agli errori. Invece, dovresti automatizzarlo.

Il codice per la maggior parte degli strumenti di automazione della configurazione (tutti?) è in chiaro, che è perfetto per il controllo della versione.

Come bonus, Vagrant supporta un gruppo di strumenti di provisioning out of the box . Dalla versione che controlla sia il codice di provisioning sia Vagrantfile , puoi automatizzare completamente la creazione di un ambiente per l'esecuzione dell'applicazione.

Ma che mi dici del mio IDE e così?

Quello che stai descrivendo, in parte, sta avendo un ambiente di sviluppo riproducibile. Questo può essere ottenuto separando l'ambiente per la tua applicazione (usando Vagrant e la configurazione automatica) da quella della tua macchina .

Dopo aver automatizzato il tuo ambiente applicativo, hai un paio di opzioni per creare un ambiente di sviluppo riproducibile:

  1. Crea un'immagine della tua macchina principale e ripristina quella su altre macchine. Quando apporti modifiche al tuo computer principale, ricrea l'immagine e ridistribuiscila su altri computer.
  2. Utilizzare uno strumento di automazione della configurazione per eseguire una nuova installazione del sistema operativo fino allo stato desiderato.

Per i file di configurazione in testo normale (come quelli per PHPStorm), puoi memorizzarli nel controllo di versione e controllarli mentre imposti l'ambiente di sviluppo.

    
risposta data 26.02.2015 - 18:04
fonte