gradle-aws-plugin elasticbeanstalk 如何部署上传的版本
Posted
技术标签:
【中文标题】gradle-aws-plugin elasticbeanstalk 如何部署上传的版本【英文标题】:gradle-aws-plugin elasticbeanstalk how to deploy uploaded version 【发布时间】:2016-02-24 15:46:14 【问题描述】:我在 android Studio 中有一个项目,其中包含一个 Android 模块和一个后端模块。后端模块生成一个我想通过gradle-aws-plugin 部署到AWS ElasticBeanstalk 的war 文件。应用程序创建和上传本身工作正常。我可以在我的 Beanstalk 应用程序中看到指定存储桶中的 war 文件和版本。
但是我找不到将新版本部署到我的环境的 gradle 任务。
【问题讨论】:
【参考方案1】:我正在使用 classmethod Gradle plugin 将文件上传到 S3,但我也找不到任何 Gradle 插件来“部署”到 Elastic Beanstalk。
我目前的想法是在 Gradle 中使用 eb deploy command exec task。我知道这是次优的,但它是我能找到的最接近的东西。
【讨论】:
【参考方案2】:我认为使用 gradle-aws-plugin 部署到 Elastic Beanstalk 是不可能的,但是有一个 gradle-beanstalk-plugin 可以通过最少的配置完全满足您的需求。
【讨论】:
【参考方案3】:插件提供的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
【讨论】:
以上是关于gradle-aws-plugin elasticbeanstalk 如何部署上传的版本的主要内容,如果未能解决你的问题,请参考以下文章
hids Elastic Security 系列1-Elastic Security介绍
hids Elastic Security 系列1-Elastic Security介绍
Elastic:如何使用 Elastic 机器学习来侦测异常