在某种程度上,这是厨师入门的问题。但是,我正在尝试创建一个简单的方法来从github签出我的jekyll代码,然后运行jekyll在本地构建它。我还没有开始担心运行nginx配置的问题,但是我已经尝试了大约100种'before_migrate‘脚本的不同排列,但是还没有找到一种方法来将jekyll加载到可用的gem中,或者加载到执行command "jekyll ..."的路径中
这是目前的食谱:
include_recipe "git"
application "corpsite" do
path "/opt/tubularlabs/corpsite"
repository "git@github.com: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更新:
这个问题被证明根本不是一个配方问题,而是因为其中一个超文本标记语言文档包含了一个UTF-8字符,而jekyll正在使用LC_ALL=C运行,因此出现了呕吐现象。当然,这是我尝试编写的第一个食谱,这也帮不上忙。
看在历史的份上,这是最终的剧本
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发布于 2012-12-12 22:45:34
我已经安装了gem并需要它们,如下所示
gem_package "nokogiri" do
action :nothing
end.run_action(:install)
gem 'nokogiri'
require 'nokogiri'希望这能帮到你(我用jekyll试过了,效果很好)
https://stackoverflow.com/questions/13831158
复制相似问题