我想在Heroku上使用Datomic (初学者版)。但是我不想把我的下载密钥提交给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特性已经不存在了,我如何才能让数据体在Heroku上运行?
(我可以使用构建包,并强制在构建阶段使用环境变量,但如果可以的话,我宁愿避免走那么远。)
发布于 2014-06-06 23:30:10
我想你不用再用叉子了。Heroku最近对其buildpacks进行了修改,允许buildpack查看您为应用程序设置的环境vars。
正如在Clojure buildpack的自述,中所描述的,您需要将BUILD_CONFIG_WHITELIST var设置为如下内容:DATOMIC_EMAIL DATOMIC_KEY,当然,还需要相应地设置DATOMIC_EMAIL和DATOMIC_KEY vars。
希望这能有所帮助。
https://stackoverflow.com/questions/23413176
复制相似问题