2017-08-04 103 views
0

我想通過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環境中(這會令人失望)。

回答

1

我沒有意識到有一個選項叫version_label,通過它可以指定應用程序版本。

關閉此問題。

相關問題