Stiamo provando a configurare un ambiente di distribuzione automatizzato con Git/Github. Abbiamo 3 diversi ambienti; locale, prova e vivi. Quando aggiungiamo una nuova funzione su local, per prima cosa carichiamo i file sul server di test per testare la funzionalità appena creata. Se tutto è OK, dobbiamo caricare tutti i file sul server live. Ma questo processo di "caricamento" non è una soluzione perfetta, poiché a volte ci dimentichiamo di caricare alcuni file. Tra l'altro abbiamo anche un'app mobile su iPhone e Android, quindi il mobile potrebbe essere il quarto ambiente per noi.Distribuzione con Git/Github
Quello che cerchiamo di fare è impostare un ambiente di distribuzione automatizzato. Quando eseguiamo il commit di una nuova funzione per testare il server, dopo aver provato questa nuova funzione, vogliamo inviarla al server live.
Ci possono essere molti commit sul server di test ma vogliamo spingere specifici commit sul server live. Non siamo riusciti a trovare il modo di affrontare 3-4 ambienti e non i codici casuali. Come potremo inviare i codici corretti al server live? Come gestiremo i nostri test e i server live? Esistono buone risorse che spiegano come configurare ambienti e processi di distribuzione diversi con Git/Github? Ci sono articoli per dirci cosa fare passo-passo?
Ho letto quegli articoli ma nessuno di loro racconta come gestire ambienti locali, di test e live.
- http://ryanflorence.com/simple-git-deployment/
- http://ryanflorence.com/deploying-websites-with-a-tiny-git-hook/
- http://toroid.org/ams/git-website-howto
- http://danielmiessler.com/study/git/
EDIT 2012-03-09: ho trovato http://beanstalkapp.com/ e http://springloops.com ed entrambi sembrano molto bravo a distribuzione. Non sono sicuro di potermi fidare di questi servizi, ma entrambi fanno esattamente ciò che voglio. Testerò entrambi e condividerò i miei risultati qui per informare tutti.
Git non è uno strumento di distribuzione. Ci sono strumenti molto più adatti per questo obiettivo. Quello che puoi fare è combinare quelli insieme. – Ikke
So che Git non è uno strumento di distribuzione, ma molti sviluppatori utilizzano Git * come * uno strumento di distribuzione. Usiamo Github per memorizzare i nostri codici, quindi abbiamo pensato che sarebbe stato fantastico usare Git/Github come strumento di distribuzione. –
Questa domanda è ideale per [Errore server] (http://serverfault.com) - per esempio [questo] (http://serverfault.com/q/142729/105371) domanda (una delle tante simili laggiù). –