我正在使用厨师的deploy_revision
,这会在
/var/chef/cache/revision-deploys/path/to/myapp
我在同一个项目中测试了Capistrano 2,试图弄清楚我选择哪一个进行部署。我这样做是为了执行回滚
cap <stagename> deploy:rollback
但它最终回滚到修订版本,该版本与修订版列表的缓存缓存副本中的版本不一致。
我希望卡皮斯特拉诺能够跟随厨师的所作所为,这可能是错的。但我试图在Cap2中理顺这种回滚。
在deploy.rb文件中,我放置了这样的任务
after "deploy", "deploy:restart_app"
任务看起来像这样:
task :restart_app, :roles => :web do
run "sudo /etc/init.d/abc restart", :shell => :bash
end
但是当部署完成后,如果我的应用程序(abc)处于状态,则表示“进程已死并且存在pid”。 pid文件也存在于/var/run/abc.pid
作为部署用户手动测试执行sudo /etc/init.d/abc restart
,工作正常。