【发布时间】:2015-03-14 23:16:51
【问题描述】:
我必须编译我们的 rails 应用程序使用的自定义 c 编码二进制文件。 此设置保存在自定义 rake 文件中(ourapp.rake,如下) 运行 cap v2 我注意到 make 失败但部署没有“失败”。 我刚刚完成任务
system "cd #{thedir} && exit 1" # simulate failing of custom task
但 deploy:cold 没有失败,调试输出(如下)清楚地显示 make 失败
我错过了什么吗?我试过了
- 搜索 capistrano 的错误代码/失败场景 - 没有(很多人提到尝试在失败时运行自定义脚本)
- 系统 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
【问题讨论】:
标签: capistrano