阿里云命令行工具(Alibaba Cloud Command Line Interface)可直接访问EDAS的OpenAPI,您可使用SDK调用EDAS的API来部署Spring Cloud、Dubbo和HSF框架的应用。本文介绍如何使用阿里云CLI部署Demo应用至EDAS的ECS集群。

前提条件

已创建ECS实例。具体操作,请参见创建ECS实例

安装阿里云CLI

阿里云CLI支持macOS、Linux和Windows。

各操作系统的安装步骤请参见:

配置AccessKey凭证

在使用阿里云CLI前,您需要运行aliyun configure命令配置调用阿里云账号的AccessKey、地域、语言等信息。

说明 您可以在安全信息管理页面创建和查看您的AccessKey,或者联系您的系统管理员获取AccessKey。
aliyun configure
Configuring profile 'default' ...
Aliyun Access Key ID [None]: <Your AccessKey ID>
Aliyun Access Key Secret [None]: <Your AccessKey Secret>
Default Region Id [None]: cn-hangzhou
Default output format [json]: json
Default Language [zh]: zh          

配置完成后,若配置凭证有效,将显示以下信息:

Configure Done!!!
..............888888888888888888888 ........=8888888888888888888D=..............
...........88888888888888888888888 ..........D8888888888888888888888I...........
.........,8888888888888ZI: ...........................=Z88D8888888888D..........
.........+88888888 ..........................................88888888D..........
.........+88888888 .......Welcome to use Alibaba Cloud.......O8888888D..........
.........+88888888 ............. ************* ..............O8888888D..........
.........+88888888 .... Command Line Interface(Reloaded) ....O8888888D..........
.........+88888888...........................................88888888D..........
..........D888888888888DO+. ..........................?ND888888888888D..........
...........O8888888888888888888888...........D8888888888888888888888=...........
............ .:D8888888888888888888.........78888888888888888888O ..............

使用CLI快速创建应用

参考以下脚本,快速在ECS集群中创建一个应用。

#!/bin/bash

# 希望部署的地域
REGION="cn-beijing"
# ECS实例ID
ECS_ID="i-2z************b6"
# ECS所在的VPC ID
VPC_ID="vpc-t**********c"
# 微服务空间名(若不存在会自动创建)
NAMESPACE="myNamespace"
# 集群名(会自动创建)
CLUSTER_NAME="myCluster"
# 应用名APP_NAME="myApp"

# Step1: 创建微服务空间
aliyun edas InsertOrUpdateRegion --RegionTag $REGION:$NAMESPACE --RegionName $NAMESPACE --region $REGION --endpoint "edas.cn-beijing.aliyuncs.com" >> /dev/null

# Step2: 创建集群
CLUSTER_ID=`aliyun edas InsertCluster --ClusterName $CLUSTER_NAME --ClusterType 2 --NetworkMode 2 --VpcId $VPC_ID --logicalRegionId $REGION:$NAMESPACE --region $REGION --endpoint "edas.cn-beijing.aliyuncs.com" | sed -E 's/.*"ClusterId":"([a-z0-9-]*)".*/\1/g'`

# Step3: 导入ECS实例
aliyun edas TransformClusterMember --InstanceIds $ECS_ID --TargetClusterId $CLUSTER_ID --Password Hello1234 >> /dev/null
for i in `seq 300`
do
    OUT=`aliyun edas ListClusterMembers --ClusterId $CLUSTER_ID | grep EcuId` && break
    sleep 1
done
ECU_ID=`echo $OUT | sed -E 's/.*"EcuId":"([a-z0-9-]*)".*/\1/g'`

# Step4: 创建应用
APP_ID=`aliyun edas InsertApplication --ApplicationName $APP_NAME --BuildPackId 51 --EcuInfo $ECU_ID --ClusterId $CLUSTER_ID --logicalRegionId $REGION:$NAMESPACE | sed -E 's/.*"AppId":"([a-z0-9-]*)".*/\1/g'`

printf "An application is created by CLI, App ID:"$APP_ID"\n"         

使用CLI快速部署应用

在阿里云CLI中执行以下代码快速部署应用。

重要 以下代码内的参数均为示例参数,APP_IDGROUP_ID为应用配置参数,请替换成您的应用参数。
#!/bin/bash

# 待部署应用ID(详情请参见步骤5。)
APP_ID="87a6*********************4d1"
# 应用分组ID
GROUP_ID="54b*********************f27"
# 上传的OSS Bucket名(该Bucket需要公共可读)
OSS_BUCKET="eda*****mo"
# 安装包文件(由您的CI系统构建生成)
PACKAGE="hello-edas.war"
# 版本号,建议使用时间戳
VERSION=`date +%s`
# Step1: 上传部署包到OSS
ossutil cp -f $PACKAGE oss://$OSS_BUCKET/$PACKAGE >> /dev/null
PKG_URL=`ossutil sign oss://$OSS_BUCKET/$PACKAGE|head -1`

# Step2: 发起部署请求
CO_ID=`aliyun edas DeployApplication --AppId $APP_ID --PackageVersion $VERSION  --DeployType url --WarUrl "${PKG_URL}" --GroupId $GROUP_ID | grep '.*"ChangeOrderId":' | sed -E 's/.*"ChangeOrderId":\s"([a-z0-9-]*)".*/\1/g'`

# Step3: 等待部署完成
for i in `seq 300`
do
    STATUS=`aliyun edas GetChangeOrderInfo --ChangeOrderId $CO_ID | grep '.*"PipelineStatus":' | sed -E 's/.*"PipelineStatus":\s(.).*/\1/g'`
    [[ 2 = ${STATUS} ]] && break
    sleep 1
done

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

  1. 登录EDAS控制台
  2. 在左侧导航栏,选择应用管理 > 应用列表,在应用列表页面单击需要部署的应用名称。
  3. 在应用基本信息页面右上角,单击部署应用
  4. 部署模式选择页面的常规发布(单批/多批)区域的右上角,单击开始部署
  5. 常规发布(单批/多批)页面下方,展开生成Maven插件配置,即可获取部署应用的参数信息。
    生成Maven插件配置

执行结果

应用部署完成后您可参照以下步骤查看应用的部署情况。

  1. 登录EDAS控制台
  2. 在左侧导航栏,选择应用管理 > 应用列表
  3. 单击创建的应用名称,在应用基本信息页面,单击实例部署信息页签。

    如果应用实例的运行状态为运行正常说明部署成功。

    说明 如果应用部署失败,您可以参考变更流程错误码说明进行问题排查,详情请参见变更流程错误码说明

相关链接

EDAS开发者工具交流群

如果您在EDAS中使用开发者工具的过程中有任何疑问或建议,请使用钉钉搜索钉钉群号34556175加入钉钉群进行反馈。