Обновление сайта из git (через ssh)

Обновление сайта из 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

Вам следует изучить, как использоватьКапистранодля развертывания вашего PHP-кода вместо того, чтобы изобретать велосипед с помощью скрипта Bash, как этот. Capistrano — это, по сути, ряд скриптов Ruby, которые в свою очередь запускают ряд команд Bash для развертывания кода из репозитория кода на удаленном сервере.

Хотя Capistrano в основном используется в мире разработки на Ruby, я использовал его во множестве проектов на PHP, и он отлично работает.Это хороший урок.о том, как адаптировать Capistrano для использования в приложениях PHP. То же самоес этим.

Если у вас мало места, то после настройки скриптов Capistrano обязательно установите значение :keep_releasesпараметра на низкое значение, например 2 или 3, как показано ниже в скрипте Capistrano:

set :keep_releases, 3

Связанный контент