В некотором смысле, это проблема начала работы с шеф-поваром. Но я пытаюсь создать простой рецепт, чтобы проверить из github мой код jekyll, а затем запустить jekyll, чтобы собрать его локально. Я не начал беспокоиться о том, чтобы запустить конфигурацию nginx, но я перепробовал около 100 различных вариантов сценария «before_migrate», и мне еще предстоит найти способ загрузить jekyll либо в доступный гем, либо в путь к сделать command "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
ОБНОВИТЬ:
Проблема оказалась вовсе не в рецепте, а скорее в том, что один из HTML-документов содержал символ 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