无法通过Terraform将新的war文件部署到beanstalk
问题描述:
我想通过Terraform创建一个新的beanstalk环境并让它运行指定的war
文件。使用我的terraform配置脚本,我可以创建beanstalk环境,并且还可以将war
文件上载到S3存储桶。但是,我无法将这个war文件部署到这个新创建的beanstalk环境中。无法通过Terraform将新的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,也是战争的文件在我的魔豆的应用程序版本相关联(我可以看到魔豆版本的应用程序列表中列出的战争当通过AWS控制台查看时)。
它也为我的应用程序创建一个myapp-tftest
环境,但不会将war
文件部署到它。
我在这里错过了什么?或者是不可能通过terraform将一个版本部署到beanstalk环境中(这会令人失望)。
答
我没有意识到有一个选项叫version_label
,通过它可以指定应用程序版本。
关闭此问题。