如何dynamic使用编译目录(/ dist)与Herokupipe道

Heroku Pipelines目前处于testing阶段,看起来像是一个有前途的方法来简化Heroku平台上的连续交付。

但是,我无法find一个好的解决scheme或最佳实践来处理部署已编译的应用程序目录(通常位于/ dist)的常见开发模式,而忽略版本控制中的此目录。

pipe道中的每一个阶段直接stream入下一个下游阶段,而heroku slug不会被重新编译。 此外, “审查”应用程序/阶段可以configuration为启动临时应用程序基于拉请求等,这显然需要是一个未编译的分支。

我的问题:在部署单个代码库时,什么是最好的部署实践(在Heroku上)?在生产环境中需要编译目录,而在同一工作stream中需要debugging(未编译)环境(如Herokupipe道)? 我个人认为,这里的目标是使用“审查应用程序”function,但可以直接进入生产应用程序。

可能的解决scheme:

  • Dynamic slug – 由于Herokupipe道重新编译,而是在“promotion”中将slug从一个应用程序复制到另一个应用程序,所以似乎需要一种方法来使应用程序的编译版本和未编译版本在一个slug中可访问,就像基于环境variables的expression式中间件一样。 但是,这本身似乎是危险的。 也许不会。
  • 使用两个pipe道 – 创build两个pipe道,一个用于编译的应用程序,一个用于开发和“审查应用程序”。 这看起来像是破坏了pipe道的目的,因为你需要重新编译你的slu and,并找出一种方法来将你的未编译的开发提交(可能在另一个回购)“链接”到编译后的分布库(连接到生产pipe线)