繁体   English   中英

为Capistrano的生产阶段创建别名?

[英]Create alias for production stage in Capistrano?

我一直在使用Capistrano来部署我的最新项目。 我有一个相当简单的设置,只有一个生产阶段(它创建了一个阶段,但我不使用它)。

我已经厌倦了键入cap production deploy来部署我的应用程序。 我真的很喜欢Rails的处理方式, rails cprails console production相同。 我想输入以下内容:

cap p deploy

而不是较长的production版本。

我试着做一个简单的别名:

ln production.rb p.rb

运行cap p deploy完成几乎所有部署步骤,然后在运行Rake迁移时终止:

INFO [03d68697] Running ~/.rvm/bin/rvm 2.2.2 do bundle exec rake db:migrate as ubuntu@mydomain.com
DEBUG [03d68697] Command: cd /var/railsapps/metasmoke/releases/20150904155532 && ( RAILS_ENV=p ~/.rvm/bin/rvm 2.2.2 do bundle exec rake db:migrate )
DEBUG [03d68697]    Please require the stackprof gem falling back to fast_stack
DEBUG [03d68697]    
DEBUG [03d68697]    config.eager_load is set to nil. Please update your config/environments/*.rb files accordingly:
DEBUG [03d68697]    
DEBUG [03d68697]      * development - set it to false
DEBUG [03d68697]      * test - set it to false (unless you use a tool that preloads your test environment)
DEBUG [03d68697]      * production - set it to true
DEBUG [03d68697]    
DEBUG [03d68697]    rake aborted!
DEBUG [03d68697]    ActiveRecord::AdapterNotSpecified: 'p' database is not configured. Available: ["default", "development", "test", "production"]
DEBUG [03d68697]    /var/railsapps/metasmoke/shared/bundle/ruby/2.2.0/gems/activerecord-4.2.3/lib/active_record/connection_adapters/connection_specification.rb:248:in `resolve_symbol_connection'

我怎样才能做到这一点?

您可能需要添加

set :rails_env, 'production'

到production.rb。 Capistrano从阶段名称推断出Rails环境名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM