【发布时间】:2018-01-12 21:06:54
【问题描述】:
我想通过 Terraform 创建一个新的 beanstalk 环境并让它运行指定的 war 文件。使用我的 terraform 配置脚本,我可以创建 beanstalk 环境,还可以将 war 文件上传到 S3 存储桶。但是,我无法将此 war 文件部署到这个新创建的 beanstalk 环境中。
这是我的 TF 配置。
resource "aws_s3_bucket_object" "myjar" {
bucket = "mybucketname"
key = "jars/myapp-1.0.war"
source = "localdir/myapp-1.0.war"
etag = "${md5(file("localdir/myapp-1.0.war"))}"
}
resource "aws_elastic_beanstalk_application_version" "myjarversion" {
application = "MyBeanstalkApplication"
name = "1.0"
bucket = "mybucketname"
key = "jars/myapp-1.0.war"
}
resource "aws_elastic_beanstalk_environment" "tftestenv" {
name = "myapp-tftest"
application = "MyBeanstalkApplication"
solution_stack_name = "64bit Amazon Linux 2017.03 v2.6.2 running Tomcat 8 Java 8"
setting {
namespace = "aws:autoscaling:asg"
name = "MinSize"
value = "1"
}
... # bunch of other beanstalk settings
}
Terraform 成功获取本地文件localdir/myapp-1.0.war,上传到 S3 中的相应存储桶和密钥,并将 war 文件关联为我的 beanstalk 应用程序中的一个版本(查看时我可以看到 beanstalk 应用程序版本列表中列出的 war通过 AWS 控制台)。
它还为我的应用程序创建了一个myapp-tftest 环境,但没有将war 文件部署到它。
我在这里缺少什么?还是无法通过 terraform 将版本部署到 beanstalk 环境(这会令人失望)。
【问题讨论】:
标签: deployment terraform amazon-elastic-beanstalk