gpt4 book ai didi

ruby - 在 capistrano 的阶段文件上设置应用程序名称

转载 作者:数据小太阳 更新时间:2023-10-29 07:39:38 24 4
gpt4 key购买 nike

我正在尝试使用多阶段/扩展来部署我的应用程序。当每个阶段位于不同的服务器时,它工作正常。但是对于一个特定的项目,我想将两个阶段部署到同一台服务器。

为此,我需要在每台服务器上设置不同的应用程序名称。这就是行不通的原因。

我将 application 变量移动到阶段文件,并定义了延迟加载的 deploy_to 变量。

配置/部署.rb

set :stages, %w(production beta)
set :default_stage, "beta"
require 'capistrano/ext/multistage'

#set :application, "myapp-beta"
set :user, "deploy"
set (:deploy_to) { "/home/#{user}/applications/#{application}" }

配置/部署/beta.rb

server "my.server.com", :web, :app, :db, primary: true

set :application, "myapp-beta"
set :domains, "beta.myapp.com"
set :branch, "beta"

我得到 Please specify name of your application, set :application, 'foo' 错误

也许我应该考虑部署到不同的服务器,但现在我真的很想了解为什么这不起作用。

谢谢

最佳答案

您的代码在功能上没有任何问题。正如 Lavixu 提到的,只要您在部署时指定阶段名称(即 cap beta deploy:setupcap beta deploy),应用程序变量就会被识别。

关于ruby - 在 capistrano 的阶段文件上设置应用程序名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17816835/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com