Come stai configurando ambienti di sviluppo riutilizzabili?

3

Sto cercando di creare un buon approccio per la creazione di un ambiente di sviluppo riutilizzabile in modo che non ci voglia un paio di giorni per ricostruire una macchina se inizia a scoppiare e per essere in grado di imbarcarsi su una nuova gli sviluppatori più velocemente. Leggendo su l'impostazione di sviluppo di Quora mi ha fatto considerare alternative al vecchio ritardo di sviluppo dell'ambiente di sviluppo. Per un negozio .NET / Windows, come stai risolvendo questo problema?

  • Macchina virtuale locale sul desktop / laptop che è possibile condividere con gli altri membri del team?
  • Un server dedicato (fisico o virtuale) a cui tutti gli sviluppatori fanno il desktop remoto e che può essere facilmente sottoposto a backup. (Ovviamente richiede una connessione di rete, quindi c'è uno svantaggio)?
  • Un'istanza nel cloud (come Quora)?
posta RyanW 17.06.2011 - 17:38
fonte

3 risposte

2

Ho utilizzato Vagrant per aiutarmi a configurare le VM - Vagrant ti aiuta a configurare una macchina basata su una macchina virtuale essenzialmente basata su modelli, quindi carica le personalizzazioni, per il tuo particolare progetto, che hai impostato con Puppet o Chef.

L'ho usato per creare una VM standard per il mio team, caricata con tutto il software da cui dipende il nostro progetto.

E Vagrant rende facile far saltare completamente una macchina e ricominciare da capo, se succede qualcosa di strano a una macchina. Per esempio, avevo Linux che mi dava un errore del disco su una macchina virtuale ... Ho "risolto" il problema facendo saltare la macchina virtuale e facendola ricostruire da Vagrant.

    
risposta data 18.06.2011 - 03:31
fonte
1

Devi assolutamente guardare un qualche tipo di virtualizzazione. Essere in grado di creare istantaneamente una nuova copia dell'impostazione predefinita è incredibilmente potente. E non solo essere in grado di sostituire l'ambiente, ma di avere più ambienti diversi su cui è possibile eseguire il test, il tutto senza dover impegnarsi per l'hardware fisico? Molto, molto bello.

La cosa con la virtualizzazione è che puoi creare il tuo ambiente e poi spedire le copie ovunque. Ospita un ambiente "principale" sul server e dai ancora a tutti una copia per i loro desktop. È carino. Aggiunge un sacco di ridondanza e ti consente di ripristinare un ambiente "predefinito" in qualsiasi momento.

    
risposta data 17.06.2011 - 18:11
fonte
0

A partire da circa quindici anni fa, per ogni progetto, ho sviluppato una checklist che funziona così:

  1. Pulisci il disco rigido e installa --- versione di --- OS dai dischi originali.
  2. Applica ---- aggiornamenti al sistema operativo.
  3. Installa ---- compilatore.
  4. Applica ---- aggiornamenti al compilatore.
  5. Carica ---- altro software, se necessario.
  6. Installa ---- versione di ---- sistema di controllo del codice sorgente.
  7. Estrai i sorgenti del progetto dal server di controllo del codice sorgente usando --- parameters.
  8. Fai --- per costruire il progetto.

Ci vogliono alcune ore, ma la maggior parte può essere eseguita senza sorveglianza. Quando ho avuto una società con dipendenti, abbiamo fatto tutto il nostro rilascio in questo modo.

Un'alternativa è quella di ghostare un'immagine del disco dal punto 6, e usarla per ignorare questi passaggi - ma questo presume che tu stia utilizzando un'installazione del sistema operativo che non è bloccata sulla macchina.

Questo ha funzionato come un campione su Windows, Mac OS 8/9 / X e Linux. Uno dei miei clienti ha recentemente fatto in modo che uno dei suoi ingegneri costruisse un risultato per loro, ed è rimasto sbalordito da quanto fosse semplice e privo di errori.

    
risposta data 18.06.2011 - 04:21
fonte