欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用 toolkit-maven-plugin 部署应用到 EDAS

程序员文章站 2022-05-22 07:51:20
...

本文来自于【阿里云官方镜像站:https://developer.aliyun.com/mirror/?utm_content=g_1000307095 】

原文链接:https://developer.aliyun.com/article/755078?spm=a2c6h.12873581.0.0.54c47e46mLfYep

镜像下载、域名解析、时间同步请点击 阿里巴巴开源镜像站

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

一、前提条件

已下载并安装 Maven。

已在EDAS 控制台上创建应用并完成首次部署。

在 ECS 集群中创建应用请参见在 ECS 集群中部署 Java Web 应用。在容器服务 K8S 集群中创建应用请参见在容器服务 K8s 集群中部署应用(镜像)。

二、自动化部署应用

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  # 应用实例所在的区域 IDapp:     app_id: eb20****-e6ee-4f6d-a36f-5f6a5455****  # 您想部署应用的 ID

若您不知如何设置以上参数值,请参照以下步骤获取:

登录 EDAS 控制台,在页面左上角选择所需地域。在左侧导航栏中选择应用管理 > 应用列表,在应用列表页面单击待部署应用的应用名称。在基本信息页面右上角单击部署应用。在部署模式选择页面选择常规发布(单批/多批)开始部署卡片右上角的开始部署。单击展开生成Maven插件配置,获取参数信息。

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 插件支持以下两种方式来部署您的多模块工程。

在父工程中执行打包及部署命令:在父工程中执行 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及以上。

在子模块中执行打包及部署命令:

在父工程中执行 install 命令,将子模块依赖安装到本地的 Maven 仓库。进入到需要部署的子模块目录下执行 toolkit:deploy 命令。

说明: 此方式支持toolkit-maven-plugin所有版本。

五、更多信息

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