cd workdir
# 查询对应应用的版本列表
output=$(./car describe-application-version --app-id $ApplicationID) #流水线环境变量配置ApplicationID
lineCount=$(echo "$output" | wc -l)
# 若版本数量大于5,则删除旧版本
if [ $lineCount -ge 5 ];then
versionID=$(echo "$output" | grep -v "Inuse" | awk '{print $1}' | head -n 1)
./car delete-application-version --app-id $ApplicationID --version-id $versionID
fi
# 因删除应用版本是异步操作,所以定时查询版本是否删除成功
waitTimes=0
while [ $lineCount -ge 5 ]
do
output=$(./car describe-application-version --app-id $ApplicationID) #替换为自己ApplicationID
lineCount=$(echo "$output" | wc -l)
waitTimes=$((waitTimes+1))
if [ $waitTimes -gt 20 ]
then
echo "Error: Waiting too long to delete application version."
exit 1
fi
sleep 1
done
# 根据PackageURL查询包名称和包类型
fileName=$(basename $PackageURL) # 流水线环境变量配置PackageURL
echo $fileName
fileType="${PackageURL##*.}"
echo $fileType
# 创建新版本
output=$(./car create-application-version --app-id $ApplicationID --name $fileName --type $fileType)
# 上传新版本应用到云端
./car upload-application-version-file --app-id $ApplicationID --version-id $output --path $fileName
# 发布新版本
./car set-version-online --app-id $ApplicationID --version-id $output
本页内容是否解决了您的问题?