- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在写一篇关于十二因素应用程序的论文,我想知道你是否可以帮助我。
十二因素应用程序的第三个因素是:在环境中存储配置。 (https://12factor.net/config)。根据该页面,所有可能因部署而异的配置都应提取到环境变量中。
我想知道在创建时如何在开发过程中应用一个 Rails 应用程序。目前我看到两种方式,在我看来都不是完美的。
我的观点正确吗?我想知道是否有任何最佳实践来解决这个问题。
谢谢!
最佳答案
基本上,可以根据您的上下文访问环境变量。运行进程、系统、应用程序的用户都可以修改您可以在应用程序中的任何给定时间/地点访问的变量集。所以,你把它们放在哪里取决于你的应用程序的需要——你需要在同一台服务器上隔离不同的应用程序吗?您是否需要有效管理数十个应用程序?您是否需要配置和填充新的服务器环境?等等
至于选项这里是我经历过的:
.*rc
文件适合这种配置,即使您可能不喜欢它的风格。 这些使它们可供其环境运行文件的用户使用,因此如果您的登录用户是 ubuntu
但您的服务以其他用户身份运行,则它可能对您不起作用,例如 www-data
或 httpd
。
Dotenv 也很好,因为它在运行时将变量注入(inject)到实际的 ENV 中。不完美,但仍然可以接受恕我直言(假设您从不将这些变量提交给 vc,正如您指出的那样)。这使得它们可用于使用 Dotenv 的单个应用程序。
其他方法是(对于网络应用程序)将它们放在 Apache 或 Nginx(或其他网络服务器)配置中。它们可以在虚拟主机定义层或服务/守护程序配置层放入环境(尽管我认为 Nginx 不支持虚拟主机环境)。 这使得变量可用于由这些服务启动的任何应用。这对于网站或网络应用来说很常见。
您还可以在服务器范围内设置环境:/etc/profile
或 /etc/environment
。这使得它们可用于整个系统上的任何服务。
除此之外(多服务器应用程序、复杂托管等)更多的是运维问题 - 管理多个配置集仍然与 12 因素应用程序相关,但不会有一个简单的答案:)
您不必马上做出决定!使用环境变量是一种非常灵活的方法!您可以在您的开发 Macbook 上使用 DotEnv,将它们放在您的暂存环境中的 Apache 中,将 .bashrc
用于您的测试/集成服务器,并将它们放在 /etc/environment
中在您定制的 Lighttpd 生产服务器上。让您的应用期望您的配置在 ENV 中意味着您的应用不必关心它是如何到达那里的!!!
关于ruby-on-rails - 十二要素应用程序 : ways to stay align with the config guideline,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41202907/
我试图找出在表格单元格上放置对齐属性与使用 text-align css 属性之间的区别。下面的代码显示了 IE 与其他浏览器中的不同结果。在 IE 中,对齐最终会对齐每个子子项,因此文本“test”
我正在 summernote HTML 编辑器上做一些 POC,我正在使用自定义工具栏,但我不知道如何添加对齐(左对齐、居中对齐、右对齐)工具栏,所以有人可以帮助我实现这一目标。 还有人可以帮我找到更
以下是从节对齐转换为文件对齐的步骤: 找到数据的 RVA 从 RVA 导出引用的数据所属的部分。这是微不足道的,因为部分不重叠。文件头中提供了各个部分的起始地址。 找出RVA和section的起始地址
align-self 在以下代码中, align-self 与 flex-wrap: nowrap 一起使用。 flex-container { display: flex; flex-wra
这是CSS: .divPhoto { border:1px solid #999; width:140px; height:140px; border-radius:3
我正在为 Windows Phone 8 开发,我已经设计了我的应用程序,我注意到有一个“分配网格”代码,默认情况下可以在新项目中取消注释。 看看下面的文件中的描述: --> 这是取
我们有浏览器前缀或黑客 (for Google and Safari) text-align: -webkit-right; (for Firefox) text-align:
最近我观察到,在 Clang 9.0 上 alignof 和 __alignof 为 unsigned long long 返回不同的值,并且在 https://reviews.llvm.org/D5
我已经一年多没有为 Android 开发了,我对它有点生疏了。我正在尝试设置一个有点简单的 UI:屏幕底部的底部栏和它上面的 fragment (但没有填充整个高度)。像这样: 我认为这会很简单,但经
你好,我正在尝试找到一种使用“讨厌的”align=center 技巧的方法.. 嗯,当我查看一些代码时,我注意到两个非常相似的片段呈现的并不相同。我找不到让他们表现相同的方法。这包括用 div 替换顶
抱歉这个愚蠢的问题。我只想知道我们什么时候讨论内存中的数据应该如何对齐之类的。这个主题是叫“内存对齐”还是“数据对齐”,还是我可以随便叫它什么? 最佳答案 在编程的上下文中,它被称为 data str
所以我只是想制作一个简单的导航栏,并且我刚开始使用 flexbox。为什么 align-content 在这里不起作用?我可以让 justify-content 工作,但我就是无法垂直对齐。这是代码。
我从这个 SO 开始答案,我试图使用提供的纯 flexbox 答案。 然而,当我尝试这个时,我看到了以下结果。 我不确定为什么 Button 4 在行中出现的位置高于其余元素。 HTML
我已通读 A complete guide to Grid ,但仍然对两组容器属性之间的差异感到困惑,即“justify/align-items”与“justify/align-content”。 我
我有一个simple plunker here. .container { display:flex; flex-flow: row nowrap; justify-content: sp
从 http://code.google.com/p/berkeleyaligner/ 下载主干代码后,我将该项目添加到 Eclipse 上的构建路径中。然后,使用下面的代码,我可以提取从 sourc
这个问题在这里已经有了答案: What's the difference between align-content and align-items? (15 个答案) 关闭 7 年前。 我发现 C
[short text][image1][image2]____________________________________ [this is a reallyyyyyyy............
我有一个很小的菜单列表,当鼠标靠近时它应该会增长。在其原始状态下,菜单是右对齐的,悬停时每第二个元素向右移动并左对齐以为增加的高度腾出空间(参见 JSFiddle )。 ul { font-siz
这个问题在这里已经有了答案: Align child elements of different blocks (3 个答案) 关闭 3 年前。
我是一名优秀的程序员,十分优秀!