Cloud Toolkit支持使用Maven部署应用到EDAS,优化了传统部署方式(先将应用打包成WAR包或JAR包再到控制台部署应用),使用命令行即可快速部署。本文将以部署应用到EDAS的ECS集群为例介绍如何使用toolkit-maven-plugin。

前提条件

自动化部署应用

  1. 在您的打包工程的pom.xml文件中增加如下的插件依赖。
    <build>
    <plugins>
    <plugin>
         <groupId>com.alibaba.cloud</groupId>
         <artifactId>toolkit-maven-plugin</artifactId>
         <version>1.0.3</version>
    </plugin>
    </plugins>
    </build>                       
    说明 您还可以从Maven官方中央仓库中获取该插件最新版本。
  2. 在工程目录下创建一个文件格式为yaml的.edas_config.yaml文件。
    说明
    • 如果部署的工程为Maven的子模块,那么请在子模块的目录下创建该文件。
    • 以下配置参数为示例参数,请替换成您的实际的应用参数。例如部署分批等更多配置参数请参见配置项
    • 关于多模块工程部署更多方式,请参考部署多模块工程
    env:
         region_id: cn-beijing  # 应用实例所在的区域 ID
    app:
         app_id: eb20****-e6ee-4f6d-a36f-5f6a5455****  # 您想部署应用的 ID                      
    若您不知如何设置以上参数值,请参照以下步骤获取:
    1. 登录EDAS控制台,在页面左上角选择所需地域。
    2. 在左侧导航栏中选择应用管理 > 应用列表,在应用列表页面单击待部署应用的应用名称。
    3. 基本信息页面右上角单击部署应用
    4. 部署模式选择页面选择常规发布(单批/多批)开始部署卡片右上角的开始部署
    5. 单击展开生成Maven插件配置,获取参数信息。maven deploy
  3. 在任意目录下新建一个YAML类的账号文件,并添加AccessKey ID和AccessKey Secret账号信息。
    access_key_id:<yourAccessKeyId>
    access_key_secret:<yourAccessKeySecret>                      
    说明
    • 该配置中Access Key ID和Access Key Secret只会用来生成请求签名,不会用于网络传输等其他用途。
    • AccessKey ID和AccessKey Secret可登录阿里云用户信息管理查看,推荐使用RAM子账号(需已授予应用管理权限)来控制应用权限以提高应用安全。
  4. 进入您的工程目录,执行以下打包命令。
    说明 如果为Maven多模块则进入子模块目录。
    mvn clean package toolkit:deploy -Daccess_key_file={账号文件路径}    
    • toolkit:deploy:使用toolkit-maven-plugin在打包成功后进行应用部署。只有添加此参数才会进行应用部署。
    • access_key_file:阿里云账号文件。更多指定密钥对的方式请参考账号配置及优先级

结果验证

执行命令后,终端开始输出日志。若输出以下日志则说明部署成功。

maven结果验证

部署多模块工程

多模块工程是常见的项目组织形式,此Maven插件支持以下两种方式来部署您的多模块工程。

  • 在父工程中执行打包及部署命令:在父工程中执行toolkit:deploy命令时,增加-Ddeploy_artifacts参数来指定需要部署的子模块Artifact ID。如果希望部署多个子模块,以半角逗号分隔。
    例如:一个CarShop工程存在以下示例的子模块:
    carshop
       itemcenter-api
       itemcenter
       detail

    如果想同时部署itemcenter和detail子模块,您可以在carshop目录下,执行以下命令:

    mvn clean package toolkit:deploy -Ddeploy_artifacts=itemcenter,detail

    默认情况下,此插件会根据itemcenter和detail模块下的.edas_config.yaml文件来分别部署对应的应用。您也可以通过增加-Dedas_config参数来指定配置文件,相关操作请详见指定配置文件

    注意 此方式要求toolkit-maven-plugin版本为1.0.3及以上。
  • 在子模块中执行打包及部署命令
    1. 在父工程中执行install命令,将子模块依赖安装到本地的Maven仓库。
    2. 进入到需要部署的子模块目录下执行toolkit:deploy命令。
    说明 此方式支持toolkit-maven-plugin所有版本。

更多信息

更多配置项说明、指定配置文件说明和账号配置及优先级说明信息请参见Maven部署说明