我把它set :deploy_to
放在每个阶段配置文件中:config/deploy/production.rb
和config/deploy/staging.rb
例:
set :deploy_to, '/home/user/htdocs/app-name'
Run Code Online (Sandbox Code Playgroud)
运行后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
...
Run Code Online (Sandbox Code Playgroud)
我使用基本的capistrano结构:
??? Capfile
??? config
? ??? deploy
? ? ??? production.rb
? ? ??? staging.rb
? ??? deploy.rb
??? lib
??? capistrano
??? tasks
Run Code Online (Sandbox Code Playgroud)
我认为那些阶段配置文件是为每个阶段定义自定义变量?我可以在舞台配置文件中设置哪些变量?
编辑:
我正在使用capistrano v3
这看起来很旧,但就我而言,我使用的是 capistrano3-puma gem。
我意识到我在deploy.rb中设置了我的puma配置,但我的deploy_to是在staging.rb和Production.rb中设置的。
在deploy_to工作后在staging.rb中添加puma部署配置!
例如:
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)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1097 次 |
最近记录: |