我有一个使用Capistrano部署的Rails应用程序,在我们的Acceptance环境中,我想设置页面标题以包含当前部署的分支。
分支是通过Capistrano进行部署的,我想以某种方式将这些信息从Cap迁移到Rails。
显然我可以让Cap将分支名称写入文件并在Rails中读回来,但我希望有更好的解决方案。
我尝试了几个设置default_environment的实验,但这似乎没有用,我假设因为那些环境变量只存在于Capistrano创建的shell中。
有什么建议吗?
答案 0 :(得分:0)
显然我可以让Cap写出来 分支名称输出到文件并读取它 回到Rails
这是最好的方式,IMO
答案 1 :(得分: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>