Рецепт шеф-повара Джекила

В некотором смысле, это проблема начала работы с шеф-поваром. Но я пытаюсь создать простой рецепт, чтобы проверить из 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

person koblas    schedule 12.12.2012    source источник
comment
К вашему сведению, здесь есть кулинарная книга Jekyll: github.com/fooforge/chef-cookbook_jekyll   -  person Aidan Feldman    schedule 22.12.2014


Ответы (1)


Я устанавливал драгоценные камни и требовал их раньше, как это

gem_package "nokogiri" do
  action :nothing
end.run_action(:install)

gem 'nokogiri'
require 'nokogiri'

Надеюсь, это сработает для вас (попробовал с jekyll и работает)

person PatrickWalker    schedule 12.12.2012