1
在某些方面,这是厨师问题的入门。但是,我试图创建一个简单的配方,从github上签出我的jekyll代码,然后运行jekyll在本地构建它。我还没有开始担心让nginx配置运行,但我已经尝试了'before_migrate'脚本的大约100种不同的排列,并且还没有找到一种方法将jekyll加载到可用的gem或路径中做一个command "jekyll ..."
Jekyll厨师配方
这是当前的配方,因为它主张:
include_recipe "git"
application "corpsite" do
path "/opt/tubularlabs/corpsite"
repository "[email protected]:Tubular/corpsite.git"
revision "master"
deploy_key <<EOF
-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----
EOF
before_migrate do
execute 'Deploy Jekyll blog' do
chef_gem "jekyll" do
action :install
end
require "jekyll"
command "jekyll"
action :run
end
end
end
UPDATE:
原来,这个问题不是一个配方的问题在所有的,而是在HTML文档中的一个包含一个UTF-8字符和jekyll与LC_ALL=C
因此barfing运行。这无疑是我尝试写的第一个配方。
由于历史的缘故,继承人的最终脚本
before_migrate do
chef_gem "jekyll"
execute 'Deploy Jekyll blog' do
cwd release_path
environment ({"LC_ALL" => "en_US.UTF-8"})
command "jekyll"
end
end
仅供参考,这里有一个杰基尔的食谱:https://github.com/fooforge/chef-cookbook_jekyll –