Как вы выполняете автоматическое git pull на удаленном сервере?

Прежде чем я начну, я знаю, что есть много вопросов, похожих на этот, но мне действительно трудно найти краткий, безопасный и лучший метод, поскольку отзывы о них были очень разными.

Что я хочу сделать:

  1. Завершить работу на моей локальной машине в ветке разработки.
  2. Отправить изменения в git. Git отправляет сообщения на URL-адрес веб-перехватчика и автоматически заставляет мой удаленный сервер получать изменения на сайте разработки.
  3. После проверки качества и подтверждения правильности на сайте разработки отправьте главную ветку на рабочий сайт (на тот же сервер, что и сайт разработки).

Где я сейчас:

Я установил git на свой локальный компьютер и на удаленный сервер. Я могу отправить моды в ветку разработки на git. На удаленном сервере я могу получить обновления, и это работает как шарм. Проблема в том, что я не могу заставить удаленный сервер автоматически обновляться, когда изменения передаются с моей локальной машины.

Мои вопросы:

  1. Что касается каталога сайта разработки удаленного сервера, следует ли мне git initили git init --bare? Я не планирую делать обновления на самом сервере. Я бы хотел, чтобы моя команда разработчиков работала локально и отправляла моды на сервер. Я считаю, что мне нужно использовать git init, поскольку рабочее дерево необходимо для настройки удаленного псевдонима для репозитория git, но я хотел подтвердить.
  2. Я почти уверен, что публикация веб-перехватчика из git связана с привилегиями пользователя. Как я могу безопаснообойти это? Я прочитал много руководств, которые предлагают обновить файлы git hook, но я чувствую, что это более радикальная мера, чем мне нужно. Я бы хотел, чтобы веб-хук попал по URL-адресу, который безопасно извлекает файлы без добавления кода (если это возможно).

По натуре я веб-разработчик, поэтому задачи git и системного администратора, как правило, отравляют мое существование. Опять же, я знаю, что этот вопрос похож на другие, но мне еще предстоит найти всеобъемлющий, краткий, безопасный и наиболее логичный подход к решению этой проблемы. У меня около 16 часов, и я официально достиг точки «движения по кругу без прогресса».

10
задан rubo77 21 November 2019 в 03:42
поделиться