首页 文章

如何在Capistrano和Rails之间发送变量?

提问于
浏览
0

我有一个部署了Capistrano的Rails应用程序,在我们的Acceptance环境中,我想设置页面 Headers 以包含当前部署的分支 .

分支是通过Capistrano部署的,我想以某种方式将这些信息从Cap迁移到Rails .

显然我可以让Cap将分支名称写入文件并在Rails中读回来,但我希望有更好的解决方案 .

我已经尝试了几个设置default_environment的实验,但这似乎没有用,我假设因为那些环境变量只存在于Capistrano创建的shell中 .

有什么建议?

2 回答

  • 0

    显然我可以让Cap将分支名称写入文件并在Rails中读回

    这是最好的方式,IMO

  • 0

    这是一种甚至不需要Capistrano的方法,尽管它确实需要git . 通过捕获在Rails初始化程序中运行git命令的输出来读取分支名称:

    # config/initializers/set_title.rb
    module MyConfig
      TITLE = `git symbolic-ref HEAD`.chomp.split("/").last
    end
    

    然后只需在模板中引用常量:

    <title><%= MyConfig::TITLE %></title>
    

相关问题