Мне нужно скомпилировать пользовательский c-кодированный двоичный файл, используемый нашим приложением rails. эта настройка хранится в пользовательском файле rake (нашapp.rake, внизу) running cap v2 я заметил, что make был неудачным, но развертывание не «провалилось». я так просто сделали задачуcapistrano v2 не работает/откатывается при сбое пользовательской задачи
system "cd #{thedir} && exit 1" # simulate failing of custom task
но развёртывание: холод не неудачу, отладочный вывод (ниже) ясно показывает, сделать неудачу
я упускаю что-то? Я попытался
- поиска кодов ошибок/отсутствие сценария Капистранны - ничего (много упоминаний о попытке запуска пользовательских скриптов на неудачу)
- системы v запуска v вызвать
помощи оценил , код ниже
# ourapp.rake
namespace :ourapp do
desc "Compile and Install Performant Parser"
task :compile_performant_parser do
thedir=File.join(Rails.root, 'parser')
system "cd #{thedir} && make clean && make && make install"
end # compile
desc "Compile and Install Compareplans process"
task :compile_binary do
thedir=File.join(Rails.root, 'compareplans_process/src')
#system "cd #{thedir} && make clean && make && make install"
system "exit 1"
end # compile
task :install => [:compile_performant_parser, :compile_binary ] do
puts "Preparing Ourapp for run"
end
end
дополнений deploy.rb
namespace :deploy do
desc "setup ourapp dependencies, dir, binaries and (later data)"
task :setup_ourapp do
run "cd #{current_release} && /usr/bin/env bundle exec rake our app:install RAILS_ENV=#{rails_env}"
end
after 'deploy:update_code', 'deploy:setup_ourapp'
end