Maven 部署说明

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

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

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

使用 Maven 将应用部署到 EDAS 需要创建配置文件、账号文件等,您可以根据实际自定义配置文件、账号文件的内容。本文将介绍使用 Maven 将应用部署到 EDAS 的配置项说明、指定配置文件说明、账号配置优先级说明及相关使用示例。

一、配置项

部署应用的配置项可分成三大类:

基本环境(ENV)应用配置(APP)存储配置(OSS)

目前支持的配置项如下表所示:

类型

key

是否必须

说明

ENV    region_id    是    应用所在的区域 ID。    

endpoint    否    用于专有云设置 POP 网关接入点。    

APP    app_id    是    应用ID    

package_version    否    部署包的版本。默认为 pom 文件的 version 加上当前机器构建的时间,格式如:”1.0 (2018-09-27 19:00:00)”。    

desc    否    部署的描述    

group_id    否    部署分组 ID。默认为所有分组。    

batch    否    部署分批。默认为 1 批,最大为 5 批。    

batch_wait_time    否    部署分批之间的等待时间,单位为分钟。默认不等待。    

stage_timeout    否    展示每个变更流程 stage 状态的超时时间,单位为分钟,默认为 5 分钟。如果同时设置了 batch_wait_time,那么此参数在计算时会自动加上 batch_wait_time。在运行时,如果某个 stage 等待时间超过此阈值,那么此插件会自动退出。    

OSS    region_id    否    目标存储桶所在的区域 ID 。默认使用应用所在的区域 ID 。    

bucket    否    目标存储桶名称。默认使用 EDAS 提供的免费 OSS 存储空间。若指定了 OSS 配置,则必须指定 bucket 参数,否则使用 EDAS 自动分配的免费 OSS 存储空间。    

key    否    应用包上传到 OSS 的自定义路径,默认使用 EDAS 提供的免费 OSS 存储空间。若使用指定的 OSS 存储,则可通过该参数指明包存储路径,同时可以使用以下变量来进行参数化的路径配置 {region_id},{app_id},{version},例如: pkgs/petstore/{version}/store.war该配置默认为 {region_id}/{app_id}/{version}    

access_key_id    否    应用包上传到 OSS 的自定义账号 ID。    

access_key_secret    否    应用包上传到 OSS 的自定义账号密钥。    

示例一
用户 A 在 Region 为北京有一个 ID 为 eb20dc8a-xxx 的应用,若需将版本为 1.2 的应用部署在分组 ID 为 06923bb9-xxx分组下,则配置文件如下:

env:
 region_id: cn-beijingapp:
 app_id: eb20dc8a-xxx
 package_version: 1.2
 group_id: 06923bb9-xxx

示例二
用户 B 需部署一个 ID 为 eb20dc8a-xxx 的应用,并将部署包上传到自己在北京 Region 的名为 release-pkg 的存储桶中的 my.war 文件下。OSS 账号 ID 为 ABC,OSS 账号密钥为 1234567890。则配置文件如下:

env:
 region_id: cn-beijingapp:
 app_id: eb20dc8a-xxxoss:
 region_id: cn-beijing
 bucket: release-pkg
 key: my.war
 access_key_id: ABC
 access_key_secret: 1234567890

二、指定配置文件

指定配置文件的方式有以下两种:

在任意目录下新建配置文件,通过设置参数 -Dedas_config={配置文件路径} 来指定配置文件。
当未设置参数指定配置文件时,Cloud Toolkit 会默认使用被打包的工程根目录下的 .edas_config.yaml 文件作为配置文件。若被打包的工程为一个 Maven 工程的子模块,则默认使用该子模块的根目录下的 .edas_config.yaml 文件。

注意 如果既存在默认配置文件,也通过参数指定配置文件,Cloud Toolkit 会优先使用参数指定的配置文件。

三、账号配置及优先级

使用 Cloud Toolkit 将应用部署到云端时,需要使用阿里云上的资源。因此在部署应用前,需要设置您的阿里云账号信息,确保拥有使用和管理相关资源、应用的权限。目前 Cloud Toolkit 支持多种配置方式,优先级从高到低如下:

说明 当重复配置时,优先级高的配置方式会覆盖优先级低的配置方式。

使用命令行指定 AccessKeyID 和 AccessKeySecret 参数,有以下两种方式。

在使用 Maven 命令打包时,通过命令 -Daccess_key_id=xx -Daccess_key_secret=xx 来指定。
在 Pom 文件中配置 Cloud Toolkit 时,插入 AccessKeyID 和 AccessKeySecret 参数配置,示例如下:
<plugin><groupId>com.aliyun</groupId><artifactId>edas-maven-plugin</artifactId><version>2.30.0</version><configuration><accessKeyId>abc</accessKeyId><accessKeySecret>1234567890</accessKeySecret></configuration></plugin>
命令行指定账号文件(推荐)。
在使用 Maven 命令打包时,通过 -Daccess_key_file={账号文件路径} 来指定 yaml 格式的账号文件。账号文件示例如下:
access_key_id: abcaccess_key_secret: 1234567890

使用默认的阿里云账号文件。如果没有通过以上两种方式指定账号,那么 Cloud Toolkit 会使用您曾经配置过的阿里云账号进行应用部署。

如果您使用过最新的 aliyuncli 工具并且配置过阿里云账号,那么阿里云会在您当前 Home 目录下生成一个 .aliyuncli 目录,并在 .aliyuncli 目录下创建 credentials 文件来保存您的账号信息。以 Mac 系统为例,在 /Users/用户名/.aliyuncli/credentials 文件中保存账号信息如下:[default]
   aliyun_access_key_secret = 1234567890
   aliyun_access_key_id = abc
如果您使用过老的 aliyun 工具并且配置过阿里云账号,那么 aliyun 工具会在您当前 Home 目录下生成一个 .aliyun 目录,并且在 .aliyun 目录下创建一个 config.json 文件来保存您的账号信息。以 Mac 系统为例,在 /Users/用户名/.aliyun/config.json 文件中保存账号信息如下:
{"current": "","profiles": [{      "name": "default",      "mode": "AK",      "access_key_id": "",      "access_key_secret": "",      "sts_token": "",      "ram_role_name": "",      "ram_role_arn": "",      "ram_session_name": "",      "private_key": "",      "key_pair_name": "",      "expired_seconds": 0,      "verified": "",      "region_id": "",      "output_format": "json",      "language": "en",      "site": "",      "retry_timeout": 0,      "retry_count": 0}, {      "name": "",      "mode": "AK",      "access_key_id": "abc",      "access_key_secret": "xxx",      "sts_token": "",      "ram_role_name": "",      "ram_role_arn": "",      "ram_session_name": "",      "private_key": "",      "key_pair_name": "",      "expired_seconds": 0,      "verified": "",      "region_id": "cn-hangzhou",      "output_format": "json",      "language": "en",      "site": "",      "retry_timeout": 0,      "retry_count": 0}],"meta_path": ""}
系统环境变量:若您未采用上述任何一种方式设置账号文件,Cloud Toolkit 会尝试通过系统环境变量来获取 access_key_id 和 access_key_secret 的值(即通过 Java 代码的 System.getenv("access_key_id") 和 System.getenv("access_key_secret") 来获取相应的值)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值