Обновление сайта из git (через ssh)
У меня есть скрипт, который я запускаю по SSH, который обновляет мой сайт из репозитория Git.
cd website-git
git checkout master
git pull
# Update protected directory
rsync -v -a --delete --exclude=db --exclude=vendor ./protected/ /home/protected
# Update public directory
rsync -v -a --delete --exclude=tmp --exclude=data ./public/ /home/public
Он работает нормально, но в репозитории git есть 150 МБ, и я плачу за используемое пространство, так что это не очень хорошее решение.
Помимо удаления рабочей копии (изначально полученной с git clone
) есть ли способ сэкономить место при такой настройке после получения файлов?
1 ответ
Вы должны изучить, как использовать Capistrano для развертывания вашего PHP-кода, а не изобретать колесо с помощью скрипта Bash, подобного этому. Capistrano - это, по сути, серия сценариев Ruby, которые, в свою очередь, затем запускают серию команд Bash для развертывания кода из хранилища кода на удаленном сервере.
Хотя Capistrano в основном используется в мире разработки Ruby, но я использовал его в тоннах PHP-проектов, и он прекрасно работает. Это хороший учебник о том, как адаптировать Capistrano для использования в приложениях PHP. То же самое с этим.
Если пространство вызывает беспокойство, после настройки скриптов Capistrano обязательно установите :keep_releases
установив что-то низкое, например 2 или 3, в скрипте Capistrano:
set :keep_releases, 3