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

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

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

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插件配置,获取参数信息。3.png

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:阿里云账号文件。更多指定密钥对的方式请参考账号配置及优先级

三、结果验证

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

四、部署多模块工程

多模块工程是常见的项目组织形式,此 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 部署说明

阿里巴巴开源镜像站 提供全面,高效和稳定的镜像下载服务。钉钉搜索 21746399 加入镜像站官方用户交流群。”

相关实践学习
微服务实战-服务注册中心 - Nacos
Nacos是阿里巴巴于2018年7月发布的一个开源项目,它是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos 支持几乎所有主流类型的服务的发现、配置和管理: Kubernetes Service&nbsp; gRPC &amp; Dubbo RPC Service&nbsp; Spring Cloud RESTful Service &nbsp;
相关文章
|
Java Linux Maven
Linux系统Docker部署Nexus Maven并实现远程访问本地管理界面
Linux系统Docker部署Nexus Maven并实现远程访问本地管理界面
318 3
|
Java Linux Maven
私有仓库工具Nexus Maven如何部署并实现远程访问管理界面
私有仓库工具Nexus Maven如何部署并实现远程访问管理界面
361 0
|
4月前
|
Java jenkins 应用服务中间件
结合Jenkins与Tomcat,实施Maven项目的自动构建和部署流程。
任何项目构建和部署的自动化流程,总离不开对各个环节精细把控与密切配合。涉及到源代码管理、构建工具、持续集成服务器以及最终的运行时环境的协调。通过上述简洁实用的步骤,可以实现Maven项目从源代码到运行状态的无缝过渡,进而提升软件开发的效率与质量。
307 0
|
8月前
|
存储 Java Maven
Maven系统级别依赖:解决部署时Jar包缺失问题
以上就是关于Maven系统级别依赖解决部署时Jar包缺失问题的解答,希望对你有所帮助。在软件开发中,遇到问题并解决问题是常态,希望你能够善用这些工具,解决你遇到的问题。
516 28
|
Java 应用服务中间件 测试技术
Maven学习笔记(一):Maven基础(基于命令行的学习和应用)
Maven 是一款 Java 项目构建工具,主要用于管理 jar 包及其依赖关系。 本文主要了解Maven基础知识及基础应用,旨在为之后的进一步学习奠定基础。 内容上几近全为学习《尚硅谷2022版Maven教程》整理所得。 仅供参考。
823 82
Maven学习笔记(一):Maven基础(基于命令行的学习和应用)
|
Java Maven 数据安全/隐私保护
Nexus【应用 01】上传jar包到私有Maven仓库的两种方法:手动 Upload 和 mvn deploy 命令(配置+操作流程)
Nexus【应用 01】上传jar包到私有Maven仓库的两种方法:手动 Upload 和 mvn deploy 命令(配置+操作流程)
4934 0
|
Java Linux Maven
部署安装maven和mvnd
部署安装maven和mvnd
453 6
pandora boot热点应用探索问题之maven-compiler-plugin耗时较长的问题如何解决
pandora boot热点应用探索问题之maven-compiler-plugin耗时较长的问题如何解决
191 0
|
Java Linux 测试技术
Maven命令大全:从安装到部署,一篇文章带你玩转Maven
本文由木头左介绍Maven,一个用于Java项目管理的工具,涉及Maven的安装配置(Windows和Linux)及核心命令,包括install、package、compile、clean、deploy、test、verify和site。通过这些命令,可以实现构建、打包、编译、测试、部署和生成项目站点等操作。
|
Java 应用服务中间件 Apache
Tomcat的基本使用,如何用Maven创建Web项目、开发完成部署的Web项目
Tomcat的基本使用,如何用Maven创建Web项目、开发完成部署的Web项目
321 1