天天看點

EDAS - ali 部署腳本

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