Capistrano deploy.rb文件基于环境

Jum*_*ton 2 deployment capistrano ruby-on-rails

我需要两个部署文件(登台和生产); 他们将有单独的部署细节(主机,用户,环境,分支等......).是否可以cap deploy使用特定文件?就像是...

cap deploy:staging    # use staging_deploy.rb
cap deploy:production # use production_deploy.rb
Run Code Online (Sandbox Code Playgroud)

或者有更好的方法吗?

Ser*_*sev 6

Capistrano 3内置多阶段支持.对于capistrano 2,请使用扩展名:https://github.com/capistrano/capistrano/wiki/2.x-Multistage-Extension.

在这两种情况下,文件结构如下所示:

??? Capfile
??? config
    ??? deploy
    ?   ??? production.rb
    ?   ??? staging.rb
    ??? deploy.rb
Run Code Online (Sandbox Code Playgroud)

您可以deploy.rb在相应的特定于环境的文件中覆盖(主机,用户和其他所有内容)的设置.