Controllo della versione di un progetto web

0

Noi (2 sviluppatori) stiamo sviluppando un'applicazione cakephp in esecuzione su un server remoto. In NetBeans entrambi abbiamo impostato il progetto come "Applicazione PHP da server remoto". Il problema è che ogni volta che uno di noi modifica uno qualsiasi dei file, viene immediatamente aggiornato sul server, ma non nell'IDE di altri sviluppatori. Abbiamo impostato git + bitbucket, ma sembra ancora un po 'confuso

Quindi vedo due possibili modi per farlo e per favore fammi sapere se ho torto.

Primo:

1.) Continuiamo a sviluppare il progetto come "applicazione PHP da server remoto" 2.) Una volta che uno di noi ha terminato la sua parte, lo spinge al repository 3.) Gli altri recuperi e spinge i suoi commit per l'altro a recuperare

Ma in questo modo è molto confuso nel mezzo di uno sprint, dal momento che l'altro sviluppo ha apportato modifiche allo script, e si vede che il sistema agisce in base a tali cambiamenti, ma non si può veramente vedere che cosa è stato esattamente cambiato.

Secondo:

1.) Sviluppare separatamente su localhosts 2.) Spingere e recuperare le modifiche 3.) Carica il progetto sul server

In questo modo perdiamo l'utilizzo del server durante lo sviluppo. E potrebbe causare molti problemi nel debug dopo che le modifiche sono state aggiornate sul server

Le domande sono: sono entrambe le viste corrette e dobbiamo sceglierne una, oppure saltiamo / non sappiamo qualcosa che ci aiuterebbe nel processo.

Qualsiasi aiuto, guida o suggerimenti sono molto apprezzati.

    
posta Domas 05.09.2014 - 11:46
fonte

1 risposta

7

Dovresti sicuramente andare a sviluppare su localhosts (o i tuoi propri vhosts separati sul server - per essere sicuri di eseguire l'applicazione nello stesso ambiente) e apportare modifiche push-pull all'ambiente di produzione solo da VCS.

Altrimenti perché usare un VCS? Solo per il gusto di farlo e come ridondanza per il codice del tour? I sistemi di controllo della versione sono strumenti collaborativi creati con questo obiettivo specifico in mente: la collaborazione. Hanno una risoluzione dei conflitti integrata e si assicurano di non ignorare il lavoro di qualcun altro quando si aggiorna un ambiente comune (stage / test / produzione).

Per quanto riguarda il server di produzione, potresti scrivere un piccolo cronjob per fare il pull in quella macchina ogni minuto - purché nessuno carichi direttamente i file (che genererebbe un conflitto in pull dopo che il file è stato commesso e inviato al repo), quindi stai solo tirando le modifiche dal ramo remoto e tutto dovrebbe andare liscio con un processo automatico. Ma questo è solo se si vuole automatizzarlo davvero - raccomando le operazioni manuali, e anche che si farebbe solo in un ambiente di produzione quando si è sicuri di avere una versione stabile. Ma per lo sviluppo e amp; testare, separare gli host virtuali sullo stesso server dovrebbe fare il trucco.

    
risposta data 05.09.2014 - 13:01
fonte

Leggi altre domande sui tag