在部署时动态更改dockerrun.aws.json图像标记

时间:2015-12-09 11:18:17

标签: python amazon-web-services docker elastic-beanstalk

有没有办法从我的__init__.py文件中动态获取版本标记,并将其附加到dockerrun.aws.json图像名称,例如::

{
  "AWSEBDockerrunVersion": "1",
  "Authentication": {
    "Bucket": "dockerkey",
    "Key": "mydockercfg"
  },
  "Image": {
    "Name": "comp/app:{{version}}",
    "Update": "true"
  },
  "Ports": [
    {
      "ContainerPort": "80"
    }
  ]
}

当我eb deploy时,它将构建正确的版本。目前,我必须继续修改每个部署的json文件。

2 个答案:

答案 0 :(得分:9)

去年我也偶然发现,AWS支持人员表示手头没有这样的功能。我最后编写了一个脚本,它接收docker标记作为参数,并使用正确的标记名动态编写dockerrun.aws.json文件。

答案 1 :(得分:1)

我写了一个运行的bash脚本

eb deploy

在执行该命令之前,我会根据运行生产还是暂存来更改符号链接。例如:

ln -sf ../ebs/Dockerrun.aws.$deploy_type.json ../ebs/Dockerrun.aws.json