Я использую Git для отслеживания локальных изменений в моих веб-приложениях PHP, и мне было интересно, будет ли хорошей идеей также использовать Git на сервере, чтобы я мог просто использовать git push
для развертывания моих изменений. Будут ли какие-либо подводные камни с этим подходом?
Кажется, это хороший способ делать вещи. Если вы правильно помечаете теги и разветвляете, это позволит вам быстро вернуться к рабочим версиям вашего сайта в случае, если что-то сломается.
Думаю, это отличное решение. Я использую его для развертывания своего веб-сайта в течение длительного времени ... Это приятно, потому что вы можете практически мгновенно внедрить свои изменения в производство, просто обновив папку. Я не столкнулся ни с какими проблемами безопасности или чем-либо еще.
Наслаждайтесь!
Я бы поддержал использование подобной техники хотя бы потому, что вы можете быть уверены, что что-либо на развернутом сайте также отслеживается в git. То есть он поощряет передовой опыт и не рекомендует вносить специальные изменения, которые не находятся под контролем источника.
Если хотите, ознакомьтесь с этой статьей о том, как Twitter использует BitTorrent для управления развертыванием: http://torrentfreak.com/twitter-uses-bittorrent-for-server-deployment-100210/ Это, вероятно, наиболее полезно, когда вам нужно быстро развернуть на большом количестве серверов.
Git в порядке, но вы можете добиться большего, чем просто использовать git pull. Взгляните на беспрепятственное развертывание для capistrano .
Capistrano в основном использует комбинацию rsync и git pull для развертывания копий вашего веб-сайта. Он поддерживает обратное ролевое, промежуточное и распределенное развертывание.
Я думаю, это отличный способ сделать это. Я обрабатываю вещи аналогичным образом, когда живые сайты - это просто извлечение из репозитория, и я обновляю их по мере необходимости.
И онлайн-исправления могут быть отложены в разработку.
Возможность сделать статус git
в действующей системе может спасти жизнь.
Вперед!
Предостережения