Как развернуть Jekyll на Slicehost - PullRequest
1 голос
/ 10 марта 2010

У меня есть блог jekyll, работающий локально. Я не уверен, как отправить содержимое на slicehost. У них есть страница инструкции , но я не могу следовать инструкции.

У меня есть все содержимое на github. Просто нужно знать, как заставить работать крюк после обновления?

1 Ответ

8 голосов
/ 10 марта 2010

Чтобы развернуть сгенерированный сайт Jekyll, вам просто нужно скопировать содержимое локального каталога _site в соответствующий удаленный каталог на вашем сервере (часто public_html, но это зависит от конфигурации сервера).

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

$ rsync -avz --delete _site/ user@host:/path/to/web/root

для развертывания вашего сайта. Для моих сайтов, основанных на Jekyll, я инкапсулирую это в задачу Rake, поэтому я могу просто сделать

$ rake site:deploy

для копирования сайта на сервер.

Если вы не можете использовать rsync, вы всегда можете передать каталог _site через FTP, что также довольно легко сделать (и с небольшим количеством сценариев на Ruby можно автоматизировать также с помощью Rake).

Вы можете использовать Git, как отмечено в документации по Jekyll. Вам нужно будет установить Git на вашем сервере и получить доступ к его использованию. Если это так, вы должны создать чистое Git-репо на вашем сервере. В голом репозитории вы затем создаете хук после обновления, чтобы проверить последнюю копию сайта. Вы делаете это, создавая скрипт на $BARE_REPO/hooks/post-update с содержимым, подобным следующему (как отмечено здесь ):

#!/bin/sh
unset GIT_DIR && cd /path/to/web/root && git pull

Затем вы клонируете пустой репозиторий в корневой веб-каталог, например:

$ cd /path/to/web/root
$ cd ..
$ rm -rf root
$ git clone /path/to/bare/repo.git root

Как вы можете видеть, часто проще использовать rsync или FTP вместо Git.

...