在阶段配置文件中设置时,capistrano deploy_to不起作用

时间:2013-12-03 16:56:47

标签: capistrano

我将set :deploy_to放置在每个阶段配置文件中:config/deploy/production.rbconfig/deploy/staging.rb

示例:

set :deploy_to, '/home/user/htdocs/app-name'

运行cap staging deploy:check --trace后,我可以看到未应用此值:

...
** Execute deploy:check:directories
 INFO [91f6713c] Running /usr/bin/env mkdir -pv /var/www/shared /var/www/releases on example.net
DEBUG [91f6713c] Command: /usr/bin/env mkdir -pv /var/www/shared /var/www/releases
...

我使用基本的capistrano结构:

├── Capfile
├── config
│   ├── deploy
│   │   ├── production.rb
│   │   └── staging.rb
│   └── deploy.rb
└── lib
    └── capistrano
            └── tasks

我认为那些阶段配置文件是为每个阶段定义自定义变量的吗? 我可以在舞台配置文件中设置哪些变量?

编辑:

我正在使用capistrano v3

1 个答案:

答案 0 :(得分:0)

这看起来很旧,但就我而言,我使用的是capistrano3-puma gem。

我意识到我已经在deploy.rb中设置了我的puma配置,但我的deploy_to是在staging.rb和production.rb中设置的。

在deploy_to工作后在staging.rb中添加puma deploy config!

例如:

set :deploy_to, "/home/username/rails-stg"
set :puma_conf, "#{shared_path}/puma.rb"
set :puma_default_control_app, "unix://#{shared_path}/tmp/sockets/pumactl.sock"
set :puma_preload_app, true
set :puma_bind, %w(tcp://127.0.0.1:3065)