heroku上的buildpack独立资产管理

时间:2013-04-30 12:34:37

标签: heroku clojure automation assets

我正在开发一个clojure应用程序,要部署在heroku上,我想要我的javascript依赖关系管理(使用哪个版本的jquery ..)和我的资产编译任务(concat css和minify,将资产上传到s3,... 。)自动化。

在heroku上开发node.js应用程序时,使用bowergruntjs非常简单。

不幸的是,node.js和npm没有与clojure buildpack一起安装。

我知道我可以修改buildpack以包含任意工具。 但我真的不想分叉一个buildpack,以便为我的应用添加简单的依赖管理。 当发布任何使用过的工具的新版本时,我不希望在更新我的分叉时感到遗憾。

在没有将它们放入git仓库的情况下更新依赖项的重新启动方式是什么?如何编译静态资产?

我想到的解决方案

  • 使用rails(而不是clojure)与资产管道;)(只是开玩笑说这不是一个解决方案)
  • 使用bower和grunt节点(而不是clojure)(可以在package.json中定义为依赖)
  • 将依赖项放入git repo并手动编译和缩小资产(容易出错,我想自动执行此操作,并且不希望在回购中保留大的依赖性,没有明显的原因)
  • 编写自定义shell脚本或makefile来下载依赖项并使用ruby和gem下载并使用css minify(应该可以工作,但可能会中断,像bower和grunt这样的工具是为了完成这个任务而做的,应该更稳定而不是滚动自己的脚本)
  • 找到一个针对clojure的Web依赖项管理器(我还没找到一个)
  • 找到适用于java的Web依赖项管理器(类似于wro4j
  • 创建或使用现有的单击安装,用于独立于buildpack的grunt和bower

你们有什么推荐的? 几乎每个Web应用程序似乎都有最稳定,最方便的方法来解决这个问题。

1 个答案:

答案 0 :(得分:0)

在考虑基于JVM的解决方案时,您还可以利用webjars,其目的是使用maven或gradle简化对Web资产的管理,就像使用jar工件一样。