作者:张医博
shell 版本集成 cli 快速部署
https://help.aliyun.com/document_detail/96025.html?spm=a2c4g.11174283.6.619.7e4e4632XSKvQa
部署前先配置好本地的 RAM 的 AK SK 变量;
#!/bin/bash
# 待部署应用ID(需要提前创建)
APP_ID="9f672acd-05e1-4899-982a-360d20e0c245"
GROUP_ID=all
#设置环境变量
APPENV='[{"name":"APP","value":"hanlijun"}]'
# 部署版本
VERSION="20190104"
# 上传的OSS存储桶名(该桶需要公共可读)
OSS_BUCKET="hanli-shenzhen"
# 安装包文件(由您的CI系统构建生成)
PACKAGE="ans-service-provider-0.0.1-SNAPSHOT.war"
# Step1: 上传部署包到OSS
./aliyun oss cp -f ./$PACKAGE oss://$OSS_BUCKET/$PACKAGE >> /dev/null
PKG_URL=`./aliyun oss 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 --appEnv ${APPENV} | sed -E 's/.*"ChangeOrderId":"([a-z0-9-]*)".*/\1/g'`
echo ${CO_ID}
# Step3: 等待部署完成
for i in `seq 300`
do
STATUS=`./aliyun edas GetChangeOrderInfo --ChangeOrderId $CO_ID | sed -E 's/.*"Status":(.).*/\1/g'`
[ 2 = ${STATUS} ] && break
sleep 1
done