Я хотел бы использовать 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
вместо того, чтобы иметь больше движущихся частей.
(Спасибо за информацию в других ответах, которые позволили мне узнать о различных вариантах.)