Domanda

Abbiamo un progetto PHP di cui vorremmo controllare la versione.In questo momento siamo in tre a lavorare su una versione di sviluppo del progetto che risiede in una cartella esterna a cui sono collegati tutti i nostri IDE Eclipse, e quindi nessun controllo di versione.

Qual è il modo giusto e il modo migliore per controllare la versione di questo?

Abbiamo configurato un SVN, ma dobbiamo solo trovare un buon modo per effettuare il check-in e il check-out che ci consenta di testare sul server di sviluppo.Qualche idea?

È stato utile?

Soluzione

Eravamo in una situazione simile, ed ecco cosa abbiamo fatto:

  • Configura due rami: il ramo di rilascio e quello di sviluppo.
  • Per il ramo di sviluppo, includi un hook post-commit che distribuisce il repository sul server di sviluppo, in modo da poter testare.
  • Una volta che sei pronto, unisci le tue modifiche nel ramo di rilascio.Suggerirei anche di inserire un hook post-commit per la distribuzione lì.

Puoi anche configurare server di sviluppo individuali per ciascuno dei membri del team, sulle loro workstation.Trovo che acceleri un po' le cose, anche se hai un po' più di tempo per la configurazione.

Abbiamo dovuto utilizzare un unico server di sviluppo perché utilizzavamo un CMS proprietario e abbiamo riscontrato problemi di licenza.Quindi il nostro hook post-commit era un semplice bot FTP.

Altri suggerimenti

Ecco cosa facciamo:

  • Ogni sviluppatore ha una VM configurata come il nostro server di integrazione
  • Il server di integrazione dispone di spazio per Trunk, ciascun utente e alcuni slot per le filiali
  • Il server di produzione
  • Gli hook sono in Subversion per inviare e-mail quando vengono effettuati i commit

All'inizio di un progetto, l'utente crea un ramo e lo controlla sulla propria VM personale, oltre a prendere una copia pulita del database.Fanno il loro lavoro, impegnandosi man mano che procedono.

Una volta che hanno finito tutto nel loro spazio personale, accedono al server di integrazione e controllano il loro ramo, eseguono i test, ecc.Quando tutto ciò passa, il loro ramo si fonde nel Tronco.

Il bagagliaio viene ricostruito, viene eseguita l'intera serie di test e, se tutto va bene, ottiene il vecchio grande timbro di approvazione, taggato in SVN e promosso a Produzione alla fine della notte.

Se in qualsiasi momento viene effettuato un commit da parte di qualcun altro, riceviamo un'e-mail e possiamo unire tali modifiche nei nostri singoli rami.

Fagiolo magico dispone di hook post-commit integrati per la distribuzione su server di sviluppo, gestione temporanea e produzione.

Un modo per utilizzare subversion per lo sviluppo PHP è impostare un repository per uno o tutti e tre gli sviluppatori e utilizzare questo repository più come strumento di sincronizzazione che come vero controllo della versione.

Potresti,

  • Crea un repository

  • Aggiungi l'intera struttura del documento PHP del tuo progetto

  • Acquista una copia di questo repository nella posizione corretta sul tuo server di sviluppo

  • Utilizza un hook svn, che si attiva al commit

Questo hook aggiornerà automaticamente il contenuto del server di sviluppo, ogni volta che qualcuno nel team inserisce qualsiasi codice.

Il gancio risiede in:

svn_dir/repo_name/hooks/post-commit

E potrebbe assomigliare a:

/usr/bin/svn up /percorso_di/webroot --username svn_user --password svn_pass

Ciò aggiornerà la tua copia di lavoro sul server di sviluppo all'ultimo check-in.

Che ne dici di qualcosa di distribuito?Puoi iniziare ad esempio con Mercurial, provare diversi flussi di lavoro e vedere quale si adatta meglio a te.

Ognuno di voi potrebbe eseguirlo localmente o sul proprio server di sviluppo (o anche sullo stesso con una porta diversa...).

Un modo possibile (probabilmente ci sono modi migliori):

Ognuno di voi dovrebbe avere la propria versione verificata del progetto.

Avere una copia locale del server sul tuo computer e testarla lì durante il giorno.Quindi alla fine di ogni giornata (o in qualsiasi momento), unisci tutto ciò che sei pronto per testare, lo controlli sul server di sviluppo e lo testi.

Un altro strumento che puoi utilizzare per le build è TeamCity che è gratuito per 20 configurazioni di build (sufficiente per la maggior parte delle piccole aziende/progetti). In questo modo puoi eseguire i test e pianificare le build.

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