Deployment 设置:从Capistrano3中的服务器配置将_部署到
在我的Capistrano3部署中,我想将Deployment 设置:从Capistrano3中的服务器配置将_部署到,deployment,capistrano,capistrano3,Deployment,Capistrano,Capistrano3,在我的Capistrano3部署中,我想将set:deploy_设置为,->{/srv/www/#{fetch(:application)}},因此:deploy_to对于它部署到的每个服务器都是不同的 在我的staging.rb文件中,我有: server 'dev.myserver.com', user: 'deploy', roles: %w{web app db}, install_path: 'mycustom/path' server 'dev.myserver2.com', use
set:deploy_设置为,->{/srv/www/#{fetch(:application)}}
,因此:deploy_to
对于它部署到的每个服务器都是不同的
在我的staging.rb
文件中,我有:
server 'dev.myserver.com', user: 'deploy', roles: %w{web app db}, install_path: 'mycustom/path'
server 'dev.myserver2.com', user: 'deploy', roles: %w{web app db}, install_path: 'mycustom/other/path'
我的问题是:是否可以使用我在
:deploy\u to
中定义的“安装路径”?如果可能的话,你会怎么做呢?最后,在环顾四周之后,我遇到了Capistrano的一位开发人员提出的一个问题,他明确表示,无法做到
引自:
不可能,对不起。fetch()(如广泛记录的)读取值
set by set(),这是在正则表达式上使用set()和fetch()的唯一原因
ruby变量是为了在插件和应用程序之间提供一致的API
扩展,因为set()可以在以后解析进程
通过服务器()在主机对象中设置的变量
命令属于单个主机,其中一些主机、用户、角色等
有特殊的含义。有关更多信息,请参阅
如果您特别需要部署到每个目录上的不同目录
您可能不应该使用内置任务(它们
不适合您的需要),而是从Gem复制deploy.rake
进入您自己的项目,并根据需要进行修改。在这种情况下
可能是不获取fetch(:deploy_to),而是从主机读取
财产
你可以在做任何依赖于你的事情之前,先做一些事情
在调用fetch(:deploy_to)时,可以使用
主持人,一些财产,但我很确定这会让人兴奋和兴奋
有趣的方式