2009-09-02 9 views
5

I sistemi di controllo delle versioni sono ovviamente importanti nei progetti di sviluppo, ma i progetti di sviluppo Web sembrano essere più complessi, con la necessità di disporre di un server Web per eseguire tutte le applicazioni Web, ad eccezione delle più semplici.Come implementare il controllo della versione per lo sviluppo Web al meglio?

Con questo in mente, ho guardato intorno e ha scoperto alcuni metodi diversi di utilizzare il controllo di versione in progetti di sviluppo web:

  1. fornire ad ogni sviluppatore con una macchina virtuale che è una replica del server di sviluppo e fare in modo che lo sviluppatore esegua la propria copia di lavoro dell'applicazione nella macchina virtuale.

  2. Chiedi a ogni sviluppatore di utilizzare un dominio secondario sul server di sviluppo, ad es. john.project.com e controlla la copia di lavoro dell'app nelle directory a cui fa riferimento il dominio secondario.

  3. Utilizzare il sistema di controllo versione per verificare il codice, apportare una modifica, eseguire il commit del codice e quindi controllarlo sul server di sviluppo (che punta al capo del repository).

posso vedere uno svantaggio di 1 è il recupero necessario per creare le macchine virtuali e garantire che le macchine virtuali vengono mantenuti InSync con il server di sviluppo (anche la necessità (?) Per cambiare continuamente l'host sviluppatori file in modo che punti alla macchina virtuale e non al server di sviluppo).

Vedo che 2 potrebbe essere un problema se gli URL assoluti vengono utilizzati all'interno del sito a meno che non vi sia un modo semplice per aggiornare la configurazione per utilizzare anche i nuovi sottodomini.

3 è il più semplice da configurare, ma è piuttosto primitivo e presumibilmente diventerà piuttosto noioso per uno sviluppatore di continuare a controllare il codice dopo ogni cambiamento di orario.

Come gli utenti di stackoverflow hanno utilizzato il controllo della versione con progetti di sviluppo Web e quale metodo/flusso di lavoro è stato più efficace.

Per favore includi anche metodi extra a cui non ho pensato/letto.

risposta

0

Sembra che tu abbia omesso un'altra opzione, che per la maggior parte degli sviluppatori ASP.NET .NET è comune.

4) Estrarre il codice sorgente dal repository, sviluppare localmente ricontrollare. Questo è veramente lo stesso dell'approccio VM, ma solo VM. In ASP.NET utilizzi IIS localmente o il server di sviluppo di Visual Studio.

+0

Suppongo che sia perché la situazione a cui stavo pensando era LAMP + non-LAMP. Ma 4) è probabilmente la cosa migliore per gli sviluppatori ASP.NET. –

+0

Pensavo potessi essere, anche se non hai aggiunto nessun tag LAMP alla domanda, quindi ho dato la mia risposta per completezza. Per ASP.NET ho visto solo 1, 2 o 4 (il mio 4). Le VM sono utili se si desidera giocare con le versioni Beta di Visual Studio senza rovinare la macchina principale e talvolta la politica aziendale richiede un approccio simile a 2. Ancora una domanda interessante, quindi +1 da parte mia. – RichardOD

0

Ciò di cui si parla non è solo il controllo della versione, ma anche un server di build.

Dipende da quale lingua nella quale si scrive, se si tratta di java di Cruise con SVN/Github, se si tratta di C# poi Team Foundation Server o CruiseControl.Net con SVN/GitHub

La maggior parte dei sistemi di controllo versione vi permetterà per diramarti e unirli e quindi utilizzare il tuo Build Server puoi distribuirlo a qualunque server web ti piaccia. Questo dovrebbe risolvere i sottodomini dello sviluppatore separati.

2

Provare una combinazione di 1 + 3.

# 1: Fornire a ciascuno sviluppatore una macchina virtuale che è una replica del server di sviluppo e fare in modo che lo sviluppatore esegua la propria copia di lavoro dell'applicazione nella macchina virtuale.

Non mi piacciono le macchine virtuali, forse perché sto utilizzando lo stesso sistema operativo su cui è in esecuzione il server. Aggiornare e mantenerlo sincronizzato è un compito che posso svolgere da solo (una volta alla settimana: "installa il pacchetto XYZ"). Ogni mese si può bloccare una VM per il backup (o per dare ai nuovi sviluppatori).

È il metodo migliore per lo sviluppatore. Non deve aspettare che si verifichi un commit/deploy. Cambia una riga di codice, salva il file, premi F5 nel browser, fatto. Per la migliore efficienza è la strada da percorrere.

# 3: Utilizzare il sistema di controllo versioni per verificare il codice, apportare una modifica, eseguire il commit del codice e quindi controllarlo sul server di sviluppo (che punta al capo del repository).

Vorrei davvero raccomandare di installare un server di staging/dev. Ogni volta che qualcuno entra in Controllo versione, il server dovrebbe automaticamente ottenere la versione più recente e riavviare il server web. In questo modo le altre persone possono dare un'occhiata al prodotto in esecuzione e dare feedback.

+0

Sì, avevo in mente un altro server di sviluppo/staging oltre a far uso di VM. –

Problemi correlati