gradle-aws-plugin elasticbeanstalk如何部署上传版本

时间:2015-11-22 14:15:55

标签: amazon-web-services gradle elastic-beanstalk

我在Android Studio中有一个带有Android模块和后端模块的项目。后端模块生成一个war文件,我希望通过gradle-aws-plugin将其部署到AWS ElasticBeanstalk。应用程序创建和上传本身工作正常。我可以在指定的存储桶中看到war文件,也可以看到我的Beanstalk应用程序中的版本。

但是,我无法找到将新版本部署到我的环境的gradle任务。

3 个答案:

答案 0 :(得分:0)

我正在使用classmethod Gradle plugin将文件上传到S3,但我也找不到任何Gradle插件来“部署”到Elastic Beanstalk。

我目前的想法是在Gradle eb deploy command中使用exec task。我知道这是次优的,但它是我能找到的最接近的东西。

答案 1 :(得分:0)

我不相信可以使用gradle-aws-plugin部署到Elastic Beanstalk,但是有一个gradle-beanstalk-plugin可以用最少的配置完成你想要的。

答案 2 :(得分:0)

插件提供的awsEbMigrateEnvironment任务是可能的。

如果您将其依赖于build.gradle,例如:

 ...
 awsEbCreateApplicationVersion.dependsOn uploadBundle
 awsEbMigrateEnvironment.dependsOn awsEbCreateApplicationVersion

然后执行gradle awsEbMigrateEnvironment

假设您已经正确配置了所有内容。 一个新的包将被构建,上传,创建新版本并最终部署到您在配置中指定的环境:

beanstalk { 
    environment { 
        envName = ... 
        versionLabel = ...
    } 
 }

或者,如果您想手工操作,则可以删除dependsOn并创建类似的任务:

import jp.classmethod.aws.gradle.elasticbeanstalk.*
task ebDeployGivenVersion(type: AWSElasticBeanstalkCreateEnvironmentTask){
     versionLabel = "${project.findProperty('wishedVersion') ?: 'foobar'}"   
}

,然后: gradle ebDeployGivenVersion -PwishedVersion=v1.2