2009-09-24 19 views
7

Mi sono divertito con git sulla mia macchina locale e tutto ha senso fino a quando non si tratta di un remoto e più sviluppatori che comincio a confondermi.Flusso di lavoro Git per lo sviluppo web

Il mio obiettivo è di avere un sito di sviluppo "semi pubblico" su cui un gruppo di 4 persone possa lavorare e di apportare modifiche al sito live non appena sono pronti. Abbiamo bisogno che il/i sito/i di sviluppo siano sul server web pubblico in modo da poter ottenere le approvazioni prima di spingere le modifiche dal vivo. La sicurezza non è una grande preoccupazione, quindi sto pensando di utilizzare solo un semplice .htaccess per limitare l'accesso. Non tutte le modifiche devono essere approvate, ma voglio che il sito dev sia aggiornato.

La grande sfida è che 2 dei 4 di noi sono progettisti e così l'intero processo di fare un cambiamento e spingendolo dal vivo deve essere semplice e veloce. Sono utilizzati solo per inviare modifiche al sito. Non voglio fare un processo di 10 passi per fare quello che stanno facendo con una scorciatoia da tastiera in questo momento.

Qualche suggerimento?

+0

Capistrano non è necessariamente esclusivo di Ruby on Rails; può essere configurato per funzionare con altri progetti. Google qualcosa sulla falsariga di "Capistrano per PHP" per iniziare. Ci sono anche Ruby Gems come railsless-deploy che configurerà automaticamente Capistrano di conseguenza. Una nota a margine ... questo è in risposta a un commento ad un'altra risposta sopra. Mi dispiace farlo in questo modo ma non riesco ancora a postare commenti. Spero che mi perdonerete tutti perché pensavo che questa informazione fosse degna di essere condivisa. Saluti. – Synexis

risposta

4

Partenza:

Questo dovrebbe ottenere tutti familiarità con l'uso git e un dare strumento per spingere in modo efficiente i cambiamenti.

+0

Quindi per utilizzare GitX tutti avrebbero bisogno di una copia locale dell'intero sito? Vorrei evitare questo se possibile. Abbiamo una directory con 4Gb di PDF che raramente cambiano. – respectTheCode

+0

Sfortunatamente, Git (indipendentemente dal fatto che tu usi GitX o meno) non supporta i checkout parziali. Questo potrebbe essere in corso. La risposta che ci si sente per ora è che il tuo 4Gb di file PDF non deve essere controllato per la (stessa) repository. –

+1

Stiamo usando git da alcuni mesi e sta funzionando alla grande. Ogni utente ha XAMPP e una copia completa del sito. Abbiamo quindi un server nel nostro ufficio da cui tutti spingiamo e tiriamo.Ha uno script di post-aggiornamento che carica le modifiche al ramo master sul web server. Usiamo altri rami per i nostri server di sviluppo. Non è perfetto ma funziona piuttosto bene. – respectTheCode

3

Prima di andare oltre, dichiaro chiaramente che git è non uno strumento di distribuzione web. Capistrano e gli amici sono la soluzione superiore e obbligatoria per i sistemi complessi. Tuttavia, se si dispone di un sito abbastanza semplice e non si preoccupa delle distribuzioni atomiche, delle dipendenze, del processo forzato (assicurandosi che tutte le modifiche siano QAed, ecc.) E simili, a volte si può ottenere un hook post-ricezione che esegue un git check forzato. Quindi il processo di distribuzione su un sito Web sarebbe di inviare un repository speciale. Potresti avere un repository per il QA e uno per la produzione, oppure fare in modo che il gancio controlli il ramo che viene spinto e lo indichi quale aggiornare in quel modo.

Vedere http://toroid.org/ams/git-website-howto per ulteriori informazioni su un semplice gancio di post-ricezione per il checkout automatico.

Ovviamente, è anche possibile che l'hook di post-ricezione chiami un vero e proprio sistema di distribuzione Web per risolvere alcuni dei problemi sopra menzionati.

+0

Non abbiamo un processo di revisione per le modifiche del contenuto, quindi tali modifiche vengono apportate sul ramo principale. Tutto il resto riceve il proprio ramo e viene fuso in master per essere rilasciato. Abbiamo diversi di questi rami di funzionalità controllati su VM nel nostro ufficio per la revisione mentre i progetti progrediscono. Non è perfetto ma funziona bene. Vedrò Capistrano, ma sembra eccessivo per ciò di cui abbiamo bisogno. – respectTheCode

+1

Sembra che Capistrano sia una soluzione specifica di Ruby on Rails, quindi non sarà di aiuto se non si utilizza Ruby on Rails. – respectTheCode

+0

Ho pensato che tu avessi risolto il problema, err, diversi anni fa. Stavo solo commentando per gli altri esaminando lo stesso problema. Se si dispone di vincoli non menzionati in modo che nessuna delle due soluzioni funzioni, si prega di chiarire. Inoltre, si prega di votare se questo post è stato utile. –

Problemi correlati