gpt4 book ai didi

capistrano - 如何从 Cap deploy 命令访问 rails_env?

转载 作者:行者123 更新时间:2023-12-04 01:34:53 24 4
gpt4 key购买 nike

deploy.rb ,相信:rails_env通常由 require 'capistrano/rails' 设置在您的 Capfile 中找到.我正在使用 rails,但没有使用内置 Assets 管道,因此,不要使用 capistrano/rails 并且处于必须手动设置的困境 :rails_envdeploy.rb在暂存和生产部署之间切换时。这看起来很愚蠢,因为在执行 cap staging deploy 时总是包含环境。或 cap production deploy .我发布了这个问题,因为它似乎是一个相当常见的痛点,但解决方案很简单,但经过多次谷歌搜索后,我空手而归。因此,我挖掘了 Capistrano 3.1.0源代码来弄清楚如何访问在命令行上输入的阶段变量,并将跟进一个简短的回答,做一些解释。

最佳答案

简单的答案是在 deploy.rb 的顶部附近添加以下行:

set :rails_env, fetch(:stage)



变量 :stage设置在 capistrano/setup这在您的 Capfile 中是必需的.此脚本为 config/deploy 中定义的每个阶段创建 rake 任务。 .在 rake 任务的定义中,您会发现以下内容: set(:stage, stage.to_sym)这是您的 cap staging deploy 中的 stage/rails_env 变量或 cap production deploy命令。

关于capistrano - 如何从 Cap deploy 命令访问 rails_env?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23019503/

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