我有jekyll博客在本地运行。我不知道如何将内容推送到slicehost。他们有an instruction page,但我无法按照说明进行操作。
我的所有内容都在github上。只需要知道如何使更新后的钩子工作?
答案 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通常更容易。