У меня есть скрипт, который я запускаю по 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
Вам следует изучить, как использоватьКапистранодля развертывания вашего PHP-кода вместо того, чтобы изобретать велосипед с помощью скрипта Bash, как этот. Capistrano — это, по сути, ряд скриптов Ruby, которые в свою очередь запускают ряд команд Bash для развертывания кода из репозитория кода на удаленном сервере.
Хотя Capistrano в основном используется в мире разработки на Ruby, я использовал его во множестве проектов на PHP, и он отлично работает.Это хороший урок.о том, как адаптировать Capistrano для использования в приложениях PHP. То же самоес этим.
Если у вас мало места, то после настройки скриптов Capistrano обязательно установите значение :keep_releases
параметра на низкое значение, например 2 или 3, как показано ниже в скрипте Capistrano:
set :keep_releases, 3