我想在Amazon的Elastic Beanstalk上的Docker多容器环境中部署几个Scala应用程序。
似乎整个过程比我期待的要复杂一些。 所以我真的很期待听到一些关于最佳实践和其他方法的反馈,以改善我的整个过程,并能够“自动化”一些步骤(如果可能的话)。
这是我目前的流程:
我很想找到一种方法来自动执行第2步。 因为这需要我为每个应用设置一个额外的回购。我的应用程序托管在一个git仓库中,每个托管步骤1 中生成的工件以便能够执行第3步的每个仓库都有一个“额外”仓库
答案 0 :(得分:3)
如果您愿意在步骤1中使用其他SBT插件,则可以自动执行第2步。
虽然quay.io支持从GitHub构建你的图像,但他们不需要它。 (您可以将本地Docker映像直接发布到quay.io存储库。)
dockerRespository := Some("quay.io/myaccount")
sbt docker:stage
sbt docker:publishLocal
docker images
检查您的图片名称和标签。新图片的名称应为quay.io/myaccount/app
docker login quay.io
。阅读their tutorial。sbt docker:publish
。现在,您的quay.io帐户应包含与本地Docker守护程序相同的IMAGE ID。在AWS方面继续执行步骤3+ ...
答案 1 :(得分:0)
我对Scala并不熟悉,但我相信工件可能是由容器内的Jenkins / CircleCI生成的,这些容器构建在Jenkins / CircleCI上,然后是Dockerrun.aws.json中引用的相应图像标签。
希望有所帮助。