我想在Heroku上使用Datomic Pro(简化版)。但我不想将我的下载密钥提交到Git中。相反,正确的做法似乎是将其存储在环境变量中。这意味着我的project.clj
现在包含:
:dependencies [[org.clojure/clojure "1.5.1"]
[com.datomic/datomic-pro "0.9.4707"]]
:repositories {"my.datomic.com" {:url "https://my.datomic.com/repo"
:username ~(System/getenv "DATOMIC_EMAIL")
:password ~(System/getenv "DATOMIC_KEY")}}
我已在Heroku应用的配置中设置DATOMIC_EMAIL
和DATOMIC_KEY
。事实证明这并不重要,因为在构建阶段处理project.clj
,而无法访问环境变量。
既然user-env-compile
功能已不存在,我怎样才能让Heromic在Heroku上运行?
(我可以分叉buildpack并强制在构建阶段使用环境变量,但是如果可以的话,我宁愿避免走那么远。)
答案 0 :(得分:4)
我认为你不再需要fork buildpack。 Heroku最近对他们的buildpack API进行了更改,允许buildpacks查看您为应用设置的环境变量。
正如Clojure buildpack's README,中所述,您需要将BUILD_CONFIG_WHITELIST
var设置为这样的内容:DATOMIC_EMAIL DATOMIC_KEY
当然还要设置DATOMIC_EMAIL
和DATOMIC_KEY
vars相应
希望这有帮助。