gpt4 book ai didi

ruby-on-rails - 将应用程序部署到两个不同的服务器,具有不同的 production.rb 内容

转载 作者:数据小太阳 更新时间:2023-10-29 08:08:23 27 4
gpt4 key购买 nike

我正在使用 capistrano 为两个不同的 production 模式服务器部署我的应用程序,但我需要改变 production.rb 中的一些内容> 对于每个服务器。

2 我知道的可能方法。

我觉得对于几行更改来说两者都不重。

  • 每个分支使用不同的分支 (git)。 - 担心维护。

  • 创造不同的环境。

如何处理这种情况,选择更简单的方法还是新的方法?

Rails 3 和 Cap 2

编辑:我还被建议使用 ENV 变量或在服务器的其他地方包含一个文件

最佳答案

Using different branch(git) for each.

当且仅当:

  • 您希望每个服务器应用都具有明显不同的功能,并且这些功能会相互干扰,即没有简单的方法来使用特定于服务器的功能标志。

  • 例如,如果一台服务器是新代码的 alpha 测试,另一台服务器是新代码的 beta 测试。

Creating a different environment.

当且仅当:

  • 您希望每个服务器应用程序都具有截然不同的体验。

  • 例如,如果一台服务器是贸易展览的演示服务器,因此经常被删除,而另一台服务器是您的客户真实站点。

Use ENV variables

这是最好的方法。

使用 dotenv gem或类似figaro gem .

“dotenv 解决了设置项目特定环境变量的问题,并且非常容易上手。首先在适当的组中包含 gem 'dotenv-rails', :groups => [:development, :test] ,在本例中为开发和测试。然后您可以将敏感信息放入项目目录根目录下的 .env 文件中”

“Figaro 类似于 dotenv。它的作用是允许您将所有敏感 secret 存储在 config/application.yml 的 YAML 文件中。使用简单的 figaro install 命令,您可以将 YAML 文件自动添加到 gitignore。 Figaro 的构建考虑到了部署到 Heroku。有一个方便的配置可以帮助您从配置文件中设置值。它还提供了有关部署到其他主机的有用信息。”

来源:Managing Environment Configuration in Rails

关于ruby-on-rails - 将应用程序部署到两个不同的服务器,具有不同的 production.rb 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27708912/

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