如何在slicehost上部署jekyll

时间:2010-03-10 01:03:31

标签: github jekyll

我有jekyll博客在本地运行。我不知道如何将内容推送到slicehost。他们有an instruction page,但我无法按照说明进行操作。

我的所有内容都在github上。只需要知道如何使更新后的钩子工作?

1 个答案:

答案 0 :(得分:8)

要部署生成的Jekyll站点,只需将本地_site目录的内容复制到服务器上的相应远程目录(通常为public_html,但这取决于服务器配置)

就个人而言,我认为最简单的方法就是使用rsync,假设您可以在服务器上使用rsync。然后它就像执行命令一样简单

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

部署您的网站。对于我的基于Jekyll的网站,我将其封装在Rake任务中,所以我可以做到

$ rake site:deploy

将网站复制到服务器。

如果你不能使用rsync,你总是可以通过FTP转移_site目录,这也很容易做到(并且使用一些Ruby脚本,可以使用Rake自动化)同样)。

可以使用Git,如Jekyll文档中所述。您必须在服务器上安装Git,并且可以访问它。如果是这种情况,您必须在服务器上创建一个简单的Git仓库。在裸仓库中,然后创建一个更新后的挂钩来检查该站点的最新副本。您可以通过在$BARE_REPO/hooks/post-update创建一个包含以下内容的脚本(如上所述here)来执行此操作:

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

然后将裸存储库克隆到您的Web根目录,如下所示:

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

正如您所看到的,使用rsync或FTP代替Git通常更容易。