Назад | Перейти на главную страницу

Каков разумный рабочий процесс для развертывания контента веб-сервера с помощью git push?

Я хотел бы использовать git push для обновления содержимого моего (nginx) веб-сервера, сохраняя при этом безопасность. Один из способов сделать это - подключиться по ssh к моему серверу, git pull из битбакета в /srv/www, и chown -R www-data:www-data ..

Было бы круче, если бы можно было отправить его туда с моего домашнего компьютера (а-ля Heroku), но я не уверен, как лучше всего решить проблемы с разрешениями и владением.

Есть ли у кого-нибудь совет о наиболее разумном способе решения этой проблемы?

Если бы вы использовали свой веб-сервер в качестве git-сервера, вы могли бы использовать только немного сложный подход с использованием git-хуков (поместите код обновления в скрипт и вызывайте его при каждом обновлении git); некоторые хосты git также поддерживают хуки, но это будет намного сложнее, поскольку они будут вызывать ваше средство уведомления об обновлениях по сети, а не запускать локальный скрипт

Предисловие

Никогда разместить любую рабочую копию внутри дерева сайтов

Лицо

git archive --remote ... твоя серебряная пуля

Просто чтобы закрыть книгу по этому поводу, учитывая дополнительные сложности, которые я 1) имею html для нескольких разных сайтов в качестве подмодулей в проекте верхнего уровня и 2) хочу сохранить канонический источник на битбакете, я решил просто ssh в и git pull вместо того, чтобы иметь больше движущихся частей.

(Спасибо за информацию в других ответах, которые позволили мне узнать о различных вариантах.)