Я получил сервер с конфигурацией выше.
Это важная часть моего рецепта deply.rb:
$:.unshift(File.expand_path('./lib', ENV['rvm_path']))
require 'rvm/capistrano'
require 'bundler/capistrano'
set :rvm_ruby_string, 'ruby-1.9.2-p290'
set :rvm_type, :system
set :bundle_flags, "--deployment"
set :default_environment, {
'PATH' => ENV['PATH'],
'RAILS_ENV' => ENV['RAILS_ENV']
}
set :stages, %w(staging production)
require 'capistrano/ext/multistage'
Recipe Развертывание промежуточного покрытия
Как есть, приводит к ошибке:
* executing "cd /mnt/data-store/project/releases/shared &&
bundle install --gemfile /mnt/data-store/project/releases/shared/Gemfile
--path /mnt/data-store/project/shared/bundle --deployment --without development test"
** [out :: localhost] The --deployment flag requires a Gemfile.lock.
Please make sure you have checked your Gemfile.lock into version control
before deploying.
... rolling back ...
failed: "env PATH=... RAILS_ENV=staging rvm_path=/usr/local/rvm /usr/local/rvm/bin/rvm-shell 'ruby-1.9.2-p290' -c 'cd /mnt/data-store/project/releases/shared && bundle install --gemfile /mnt/data-store/project/releases/shared/Gemfile --path /mnt/data-store/project/shared/bundle --deployment --without development test'" on localhost
Gemfile и Gemfile.lock находятся в контроле источника. Я бежал install
локально сначала, чтобы сгенерировать файл .lock. Но Bundler / Capistrano указывает на / mnt / data-store / project / relives / shared / gemfile, поэтому я просто скопировал вручную оба файла там. Я уверен, что я делаю это неправильно здесь. Я думаю, что он должен быть скопирован автоматически.
Выполните развертывание снова (1), и он не потерпел неудачу на установочном расслоении, он даже был
ваш пакет завершен! Он был установлен в / mnt / data-store / project / Shared / bundle
в выходе.
Но один из моих задач шапочек выполняет грабли. Результатом этого есть:
* Не удалось найти BCRYPT-RUBY-3.0.1 в любом из источников
* Попробуйте запустить install bundle
.
Исходя из моего приключения, я обнаружил, что, как только у вас будет .Bundle / Config с
Bundle_Path: / MNT / Data-Store / Project / Shared / Bundle
Оно работает.
У меня был этот каталог, вероятно, созданный Bundler, под / MNT / Data-Store / Releasz / Shared /
, поэтому я скопировал вручную в Rails Root.
Теперь, грабли / рельсы C работают.
Show Show Twitter
показывает ... / Shared / Bundle / Ruby / 1.9.1 / Gems / Twitter-1.7.1
.
Но перераспределение возвращает меня обратно в (1), потому что .bundle dir не там.
Бетонные вопросы:
Спасибо!