6

我想在 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")}}

我已经设置DATOMIC_EMAILDATOMIC_KEY在 Heroku 应用程序的配置中。事实证明这并不重要,因为它project.clj是在构建阶段处理的,没有访问环境变量。

现在该user-env-compile功能不再存在,我怎样才能让 Datomic 在 Heroku 上运行?

(我可以分叉构建包并强制在构建阶段使用环境变量,但如果可以的话,我宁愿避免走那么远。)

4

1 回答 1

5

我认为您不再需要分叉 buildpack。Heroku 最近对其 buildpack API 进行了更改,允许 buildpacks 查看您为应用程序设置的环境变量。

Clojure buildpack 的 README 中所述,您需要将BUILD_CONFIG_WHITELISTvar 设置为如下所示:DATOMIC_EMAIL DATOMIC_KEY当然,还需要相应地设置DATOMIC_EMAILDATOMIC_KEYvars。

希望这可以帮助。

于 2014-06-06T23:30:10.497 回答