Ho un ambiente git esistente configurato in questo modo:
Alfinedidistribuirelemiemodifichealserverdiproduzione,attualmenteI:
- esegui
gitcommitsullacopiadisviluppo - esegui
gitpushperinviarelemiemodificheaproject.git,ilrepositorycentrale - sshnelserverdiproduzione
- esegui
gitpullsullacopialive
Vorreieliminareipassaggi3e4quandosispingeilramoprincipale.Hotrovatopiùtutorial(comepost-receive hook, ma sembrano tutti supporre che il repository nudo vivrà sul server di produzione, come questo:
In questo scenario la copia live può essere aggiornata utilizzando la post-ricezione impostando GIT_WORK_TREE nella directory locale corretta, quindi eseguendo git checkout -f master .
È molto scorrevole, ma non funziona con il mio ambiente esistente. Potrei sempre spostare il repository centrale dal server di sviluppo al server di produzione, ma spero che ci sia un modo semplice per notificare alla copia live di eseguire un git pull automaticamente quando il repository centrale riceve una spinta.
Qualche suggerimento o dovrei semplicemente mordere il proiettile e spostare il repository centrale in produzione?
