Domanda

Diamo un ambiente di sviluppo web, in cui gli sviluppatori di checkout di un progetto su un locale macchine, il lavoro su di esso, e controllare i cambiamenti di sviluppo.
Questi cambiamenti sono ulteriormente testato su sviluppo e spostato in diretta su un programma normale (ad esempio settimanale, mensile, etc.).
E ' possibile avere un sistema di auto-moveup l'ultima versione codificata (e non l'ultima checkin, in quanto questo potrebbe non essere stabile al 100%), per esempio 8 lunedì mattina, sia utilizzando uno script o un built-in funzione del VCS?

È stato utile?

Soluzione

Certamente, ma il prodotto può essere dipendente da VCS si sta utilizzando.

Che cosa si potrebbe desiderare di fare, è avere un paio di diversi rami, e la migrazione come lei progressi.E. g., Sviluppo -> Stabile-Dev -> Beta -> Produzione.Si può quindi semplicemente di aggiornamento automatico all'ultima versione Stabile-Dev e Beta per il tuo tester, e di essere sempre in grado di distribuire una nuova versione di Produzione alla goccia di un cappello.

Altri suggerimenti

Sì, è possibile.Questo è di solito una funzione fornita da continua integrazione di strumenti di.In genere si otterrà l'ultima origine dal controllo di versione, di costruire il progetto, prova (esecuzione di unit test) ed eventualmente distribuire su un test server.

Se non avete bisogno di tutti questi passaggi, si può facilmente fare la stessa cosa con alcuni script di shell o simili (es.estrazione dal controllo di versione e copia per la produzione di cartelle sul server).

Nulla si può fare con cvs può essere fatto con la riga di comando, e sono abbastanza sicuro che svn è lo stesso.Semplicemente capire la funzionalità che si desidera e bastone in una shell script o un file di comando.

Gli unici due che ho esperienza con SVN e Mercurial.Per Mercurial, si specifica che il ramo che si desidera aggiornare da (diciamo di default) e quindi ogni volta che si uniscono in un ramo in default, si può avere solo il server è in esecuzione:

hg update

Che rielabora i tuoi repository per la versione più recente del ramo che si imposta a.

SVN è lo stesso concetto, devi solo controllare che il ramo si desidera che inizialmente

svn co http://host/repository/branchname/

poi hai il tuo server di aggiornamento di un job di cron, ala

svn up

In teoria, però, qualsiasi VCS che supporta diramazione (tutti i bravi :git, mercurial, SVN, ecc...), dovrebbe essere in grado di fare qualcosa di simile a questo.

Dubito che molti Vcs fornire questa possibilità, tuttavia, è necessario essere molto semplice script.Sia per una data o di un ramo a base di checkout.

Come follow-up,

Io sono del parere che un'app dovrebbe fare un lavoro e farlo bene.Spesso se si inizia a combinare strumenti in un unico prodotto, nessuno di loro lucentezza, e la maggior parte di loro sarà ""bene, una sorta di".

Se stavo facendo qualcosa di simile a questo, vorrei avere io qualcosa come SVN, ANT, e Subversion Ant Biblioteca (http://ant.apache.org/antlibs/svn/index.html i millage può variare però.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top