Доставка файлов из VCS на shared-хостинг с помощью sshfs

October 1, 2009, revised October 27, 2009 curlftpfs git sshfs системы управления версиями хостинг

В общем, понадобится sshfs – штука для монтирования ssh-каталогов в локальные. Конечно, она есть в репозитариях Ubuntu.

В смонтированном таким образом каталоге можно выполнять практически любые утилиты, имеющиеся на локальной машине. Например, git pull.

# Монтируем каталог
mkdir ssh-export
sshfs -o workaround=rename the.deploy.server:/the/deploy/path ssh-export
cd ssh-export
# Обновляем
git pull
# Отмонтировываем
cd ..
fusermount -u ssh-export
rm -rf ssh-export

Причина использования workaround=rename описана в Git FAQ.

Замечу, что скорость этого способа все же меньше, чем у rsync, потому что rsync сжимает данные. Зато он гораздо удобнее и позволяет выкладывать код на сервер любым душе угодным образом.

Еще я пробовал использовать git через FTP с помощью curlftpfs, но, увы, git не хочет работать без возможности залочить файл.

Другие способы обойтись без системы контроля версий – в статье «Грамотное разворачивание сайта без VCS».

Buy Me a Coffee at ko-fi.com