我正在使用Heroku,当我显示配置变量时:
testSuite.project.setPropertyValue("BRAND_TYPE","L")
testSuite.project.setPropertyValue("BRAND_CLIENT","LD")
......有些被定义不止一次。
的Heroku'建议是使用大写键设置所有变量。 来自https://devcenter.heroku.com/articles/add-ons:
别名必须始终符合与配置变量相同的命名约定。它们必须以字母开头,并且只能包含大写的字母数字字符或下划线。
所以...当我们执行=== someapp-staging Config Vars
DATABASE_URL: xxx
LANG: en_US.UTF-8
NEW_RELIC_LICENSE_KEY: xxx
NEW_RELIC_LOG: stdout
RACK_ENV: staging
RAILS_ENV: staging
SENDGRID_PASSWORD: 123456
SENDGRID_USERNAME: app123456@heroku.com
WEBSOLR_URL: https://index.websolr.com/solr/0e1122334455
sendgrid_password: 654321
sendgrid_username: app654321@heroku.com
websolr_url: https://index.websolr.com/solr/0e1122334455
时,为什么费加罗不会自动将键设置为大写?
下一步该怎么做?
我必须使用以下混合键在figaro heroku:set --remote staging -e staging
中设置变量:
application.yml
谢谢
ps:这些不是我真正的凭据。
https://github.com/laserlemon/figaro/issues/238
您应该将application.yml写入您的确切情况 应用程序将使用。虽然Heroku建议某种惯例, 并不保证每个人都会(或可以)使用该惯例 始终如一。出于这个原因,费加罗赢了 自动upcase,downcase或其他。希望有意义!
答案 0 :(得分:0)
Heroku的最佳答案:
在这种情况下,配置变量的行为是由底层的 Linux操作系统区分大小写。 “在幕后” 配置变量只是管理Unix环境变量的一种方式 在dynos上设置,因此,我们对这些的处理是公平的 最小化以保持它们与任何其他基于Linux的主机一致 - 如果 我们开始自动调整案例你可能会发现情况 它不在本地工作,而在Heroku上工作。