使用heroku.yml构建Java应用程序作为Docker映像构建的一部分

时间:2019-06-18 15:12:07

标签: docker heroku containers

该问题与堆栈“容器”的使用有关,特别是与第https://devcenter.heroku.com/articles/build-docker-images-heroku-yml

有关

当开发人员将其代码推送到Heroku git和Heroku组装应用并将其部署时,Heroku始终非常方便地与“常规”堆栈一起使用。

使用堆栈“容器”,我们可以手动构建应用程序或将其作为CI pipelnine的一部分,然后在本地构建Docker映像,然后使用heroku CLI的container:push和container:release将其推送到Heroku进行部署。

有了heroku.yml的实现,我们就有可能要求Heroku平台为我们构建Docker映像,我们只需要将Dockerfile作为应用程序源代码的一部分即可推送。在许多用例中这很有意义,例如我喜欢使用Heroku开发,但是我的客户要求我将其部署到他们的AWS上进行生产,并且我使用在Heroku上测试过的相同Docker映像来推广到产品(我相信人们会将此功能用于其他用途。

但是令我印象深刻的是,heroku.yml清单使我们失去了应用程序类型自动检测和组装的功能。为了能够将源代码和Dockerfile一起推送到Heroku git并让Heroku构建我的maven应用并使用该应用的新版本准备docker映像,我需要在Dockerfile上放置很多样板,以下载jdk和maven,构建Maven应用程序并将工件复制到图像。

也许我错过了一些东西,并且有一种更好的方法来处理带有heroku.yml清单的Docker映像构建中的maven应用构建?

0 个答案:

没有答案