tencent cloud

应用云渲染

产品动态
产品简介
产品概述
基本概念
产品优势
应用场景
购买指南
计费概述
计费说明
购买流程
欠费说明
退费说明
自动续费规则
快速入门
基本技术概念
快速入门
技术接入
接入 Demo
控制台指南
应用管理
项目管理
云端推流服务
并发管理
多人互动
会话状况查询
实践教程
如何实现云端原生录制
如何使用 CAR-CLI 实现应用上传及版本更新
如何实现并发资源共享
如何实现移动端中文输入
如何将云渲染画面推流到直播间
如何实现多人互动
如何实现直播间弹幕互动小玩法
如何配置并使用云浏览器
SDK 文档
JavaScript SDK
Android SDK
iOS SDK
API 文档
History
Introduction
API Category
Making API Requests
User APIs
Application Management APIs
Project Management APIs
Concurrency Management APIs
Stream Push Service APIs
Data Types
Error Codes
常见问题
云渲染基础相关
云渲染接入相关
云上应用相关
服务等级协议
CAR 政策
隐私政策
数据处理和安全协议
联系我们
文档应用云渲染实践教程如何使用 CAR-CLI 实现应用上传及版本更新

如何使用 CAR-CLI 实现应用上传及版本更新

PDF
聚焦模式
字号
最后更新时间: 2025-08-05 10:16:05
CAR-CLI 是应用版本管理的命令行工具。通过 CAR-CLI,您可以快速轻松的调用云应用 API 来查询、上传、更新和删除应用版本。本文将介绍 CAR-CLI 的基础功能,以及如何使用 CAR-CLI 构建流水线来实现应用版本更新的自动化。

使用基础功能

说明:
使用时请将配置文件放到命令工具同目录下,并将腾讯云账号的 SecretId、SecretKey 以及 AppId 替换。CAR-CLI 支持 MacOS,Windows 以及 Linux 系统,以下以 Linux 操作系统为例。

查看帮助信息

执行以下命令,查看命令行工具 CAR-CLI 的帮助信息。
./car help
以新建应用命令为例,执行以下命令,查看具体指令的详细帮助信息。
./car create-application help

新建应用

执行以下命令可创建新应用,需填写应用的名称,名称只支持中文、字母、数字或连接符"-",要求16字符以内。指令执行成功则返回新建应用的应用 ID。
./car create-application --name xxx

创建应用新版本

执行以下命令可为应用创建新版本,同一应用下版本创建数量上限为5个,需填写:
app-id:应用 ID
name:版本名称
type:应用格式,支持zip/rar/7z
还支持以下可选项:
regions:应用版本分发地区,支持:
代码
说明
ap-chinese-mainland
中国大陆 (默认地区)
ap-tokyo
东京标准区
ap-tokyo-fusion
东京融合区
ap-seoul
首尔标准区
ap-seoul-fusion
首尔融合区
ap-singapore
新加坡标准区
ap-singapore-fusion
新加坡融合区
eu-frankfurt
法兰克福标准区
eu-frankfurt-fusion
法兰克福融合区
na-north-america
北美标准区
na-north-america-fusion
北美融合区
me-middle-east-fusion
中东融合区
sa-south-america-fusion
南美融合区
update-mode:应用版本更新方式,支持 FULL / INCREMENT,分别代表全量更新、增量更新。
若有“创建中/待发布/创建失败”的版本,则操作会被拒绝,版本创建后,还需上传应用包和发布版本。执行执行成功则返回新版本的版本 ID。
样例:
./car create-application-version --app-id app-xxx --name xxx --type zip --update-mode FULL --regions ap-chinese-mainland,ap-tokyo

上传应用版本文件

执行以下命令为应用版本上传应用包,需填写应用 ID、本地路径(注意 Windows 和 Linux 路径格式)和应用版本 ID,请确保应用 ID 和应用版本 ID 正确。若使用 url 上传应用,则只需输入 app-id 和 url 即可。
./car upload-application-version-file --app-id app-xxx --path C:\\\\data\\\\xxx.zip --version-id ver-xxx
./car upload-application-version-file --app-id app-xxx --path /data/xxx.zip --version-id ver-xxx
./car upload-application-version-file --app-id app-xxx --url xxx
注意:
应用版本文件上传成功后,若所上传文件的名称和格式与创建应用新版本中使用的版本名称和应用格式不同,则版本名称和应用格式会被替换为所上传文件的名字和格式。
若创建应用或创建应用新版本中,上传文件任务失败,请执行本命令,同时确保本地文件路径不变。

发布应用版本

执行以下命令发布应用指定版本,需填写应用 ID 和应用版本 ID。
./car set-version-online --app-id app-xxx --version-id ver-xxx

删除应用版本

执行以下命令删除应用版本,需填写应用 ID 和应用版本 ID,异步删除,可通过查询应用版本列表查看是否删除成功。
./car delete-application-version --app-id app-xxx --version-id ver-xxx

展示应用版本列表

执行以下命令展示应用版本列表,需填写应用 ID。输出版本 ID 和版本状态,可通过 grep 和 awk 命令获取最旧的版本。
./car describe-application-version --app-id app-xxx
./car describe-application-version --app-id app-xxx | grep -v "Inuse" | awk '{print $1}' | head -n 1

应用版本更新流水线构建

下图为应用版本更新流水线的一个示例:


下载 CAR-CLI

加载远程配置文件到当前工作目录。
cd workdir

wget "your config file url"
执行如下脚本,下载命令行工具。
cd workdir

mkdir pkg && cd pkg
wget https://github.com/tencentyun/car-cli/releases/download/v1.0.0/car.zip
unzip car.zip
mv ./car/linux/car ../
cd ..

chmod +x car

下载新版本应用包

配置下述脚本来下载新版本应用包。
cd workdir

wget $PackageURL # 在流水线环境变量中配置PackageURL变量

新建版本

为已有应用创建新版本并上传新版本应用,最后发布新版本。
注意:
如果应用版本数量大于5,此脚本会自动删除最旧非使用中的版本。
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

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈