将Vega SDK集成到CI管道中
本页面介绍如何将Vega SDK集成到持续集成 (CI) 管道中,包括自动安装过程和配置要求。
构建主机是指CI管道中用于构建Vega应用的计算机(虚拟机或物理机)。Vega SDK可在安装说明页面上提供安装命令,该命令能以非交互式的方式运行,无需用户输入,便于在构建主机上自动安装SDK。在安装页面上,您必须为构建主机选择相应的操作系统和架构。例如,如果您的构建主机运行的是Ubuntu 22.04,请从Operating System(操作系统)下拉列表中选择Linux (x86_64)。然后,您可以在构建主机上运行生成的命令。
先决条件
在将Vega SDK集成到CI管道中之前,请确保您的构建环境满足以下要求。请特别注意为构建主机选择正确的平台,因为选择错误的平台可能会导致安装或运行时错误。
系统要求
主机配置
- 操作系统
- Ubuntu 20.04或以上
- x86_64
- Mac OS X
- arm64(M系列)或x86_64 (Intel)
- Ubuntu 20.04或以上
用户要求
0.20.3106之前版本的Vega SDK
* 构建主机/CI环境中的非根用户帐户
* 此要求适用于所有安装方法
* 对于直接CI/CD安装,请确保以非根用户身份运行构建过程
0.20.3106及更高版本的Vega SDK
* 不再要求使用非根用户帐户
* 为CI环境设置`NONINTERACTIVE=true`
安装过程
在CI环境中安装Vega SDK时,需要特别注意。与经常进行交互式安装的开发者工作站不同,CI环境需要使用全自动的方法。以下部分将指导您完成此过程。
基本安装
- 在安装页面上,为您的构建主机选择相应的操作系统和架构,然后复制安装命令
- 编辑安装命令:
- 设置
NONINTERACTIVE环境变量,以禁用可能中断自动安装的安装程序提示 - 从中移除
--sim-url标记及其值,以跳过安装Vega虚拟设备的过程
- 设置
- 相应地配置
KEPLER_SDK_PATH和PATH环境变量
# 将尖括号中的值替换为安装页面中的相关值
curl -fsSL <安装程序脚本URL> | NONINTERACTIVE=true /bin/bash -- --sdk-url <SDK URL> --version <版本>
# 将 <版本> 替换为SDK版本
export KEPLER_SDK_PATH="$HOME/kepler/sdk/<版本>"
export PATH="$KEPLER_SDK_PATH/bin:$PATH"
有关其他配置选项,请参阅以下部分。
安装脚本标记
安装脚本接受以下命令行标记。
| 标志 | 描述 | 值 |
|---|---|---|
--sdk-url |
SDK下载URL。必需。 | 可以是http(s):// 或file://。 不接受纯文件名。值必须是有效的URL:file:///Users/somebody/sdk.sh 覆盖SDK_URL环境变量 |
--sim-url |
虚拟设备 (VVD) 下载URL。可选 | 可以是http(s) 或文件。 不接受纯文件名。值必须是有效的URL:file:///Users/somebody/sim.tar.bz2 覆盖SIM_URL环境变量 |
--version |
SDK版本。必需。 | 语义版本 <主要>.<次要>.<补丁> 覆盖VERSION环境变量 |
环境变量配置
使用以下环境变量控制安装程序脚本。
| 变量名 | 有效值 | 默认值 | 描述 | |
|---|---|---|---|---|
DELETE_DOWNLOADS |
true | false | "true" | 控制下载的SDK/模拟器文件的删除 |
DOWNLOAD_DIR |
有效路径 | $HOME/Downloads | SDK/模拟器的下载位置 | |
DIRECTED_ID |
字符串 | - | 匿名的客户ID | |
INSECURE_DOWNLOADS |
true | false | "false" | 启用不安全的curl下载 |
INSTALL_ROOT_DIR |
有效路径 | $HOME/kepler/sdk | SDK安装的基本目录 | |
LOG_ENABLED |
true | false | "true" | 启用文件日志记录 |
LOG_FILE |
有效路径 | $HOME/.kepler/logs/kepler-YYYY-MM-DD.log | 日志文件位置 | |
NONINTERACTIVE |
true | false | "false" | 启用非交互式安装 |
OPT_IN |
true | false | "false" | 启用使用量指标收集 |
VERBOSE |
true | false | - | 启用详细输出 |
OVERWRITE_PREVIOUS |
true | false | 因情况而异 | 控制对现有安装的覆盖 |
SDK_URL |
URL | 无 | 必需: SDK下载URL | |
SIM_URL |
URL | 无 | 可选: 模拟器下载URL | |
VERSION |
字符串 | 无 | SDK版本号 |
安装目录配置
默认安装路径为$HOME/kepler/sdk/$VERSION。
要更改安装SDK版本所用的目录前缀,请在运行安装脚本时设置INSTALL_ROOT_DIR环境变量。
curl -fsSL <安装程序脚本URL> | INSTALL_ROOT_DIR=/opt/kepler /bin/bash --version <版本> --sdk-url <SDK URL>
重要注意事项
环境变量
安装后,您需要配置环境才能找到SDK工具。
设置KEPLER_SDK_PATH
export KEPLER_SDK_PATH="/path/to/kepler/sdk/version"
添加到系统路径
export PATH="$KEPLER_SDK_PATH/bin:$PATH"
示例
如果您的SDK安装位置为/home/user/kepler/sdk/0.20.3106。
export KEPLER_SDK_PATH="/home/user/kepler/sdk/0.20.3106"
export PATH="$KEPLER_SDK_PATH/bin:$PATH"
验证: 要验证设置是否正确,请运行以下命令。
kepler -v
可选的VVD映像安装
从版本0.20.3106开始,用户可以选择是否安装Vega虚拟设备 (VVD) 映像,以减小SDK安装的实际大小:
- 移除
--sim-url标记即可跳过下载和安装VVD映像的过程 - 这可以显著减少安装在CI环境中所占用的空间
VS Code插件注意事项
在CI环境中,您可以安全地忽略VS Code插件安装错误。
遥测配置
要明确启用遥测,请设置OPT_IN环境变量。
# 使用OPT_IN环境变量启用遥测。
curl -fssL <安装程序脚本URL> | OPT_IN=true /bin/bash --version <版本> --sdk-url <SDK URL>
Docker集成
Docker为使用Vega SDK构建应用提供了统一且隔离的环境。以下示例演示如何创建包含所有必要依赖项和配置的构建环境。这种方法适用于各种支持基于容器进行构建的CI解决方案。
示例Dockerfile
FROM ubuntu:22.04
SHELL ["/bin/bash", "-c"]
# 需要利用cURL来获取安装程序。
RUN apt-get update && \
apt-get install curl ca-certificates --no-install-recommends -y && \
rm -rf /var/lib/apt/lists/*
# 安装Vega SDK
ARG INSTALLER_SCRIPT
ARG SDK_VERSION
ARG SDK_URL
ARG SDK_ROOT=/kepler
ARG SIM_URL
RUN test -n "$INSTALLER_SCRIPT" || (echo "INSTALLER_SCRIPT not set" && false)
RUN test -n "$SDK_VERSION" || (echo "SDK_VERSION not set" && false)
RUN test -n "$SDK_URL" || (echo "SDK_URL not set" && false)
RUN curl ${INSTALLER_SCRIPT} | NONINTERACTIVE=true INSTALL_ROOT_DIR=${SDK_ROOT} bash -s -- \
--sdk-url=${SDK_URL} \
--sim-url=${SIM_URL} \
--version=${SDK_VERSION}
## 设置所需的环境变量
## 注意将脚本安装到$SDK_ROOT/sdk/$SDK_VERSION中
## 如果未设置$SDK_ROOT,则默认为/kepler
ENV KEPLER_SDK_PATH="$SDK_ROOT/$SDK_VERSION"
ENV PATH="$KEPLER_SDK_PATH/bin:$PATH"
## 验证Kepler命令是否可用
RUN kepler -v
# 如果您要构建React Native应用,则需要用到NodeJS和NPM
RUN curl -sL https://deb.nodesource.com/setup_lts.x | bash -
RUN apt-get update && apt-get install -y nodejs
RUN npm install -g npm
## 将全局npm配置路径设置为/etc/npmrc
## 将您的npmrc配置绑定到此位置
ENV NPM_CONFIG_GLOBALCONFIG="/etc/npmrc"
## 验证节点和npm命令是否可用
RUN node -v && npm -v
ENTRYPOINT [ "/bin/bash", "-c" ]
构建Docker映像
以下代码示例显示了如何使用示例Dockerfile文件构建Docker映像。将Dockerfile中的构建参数替换为生成的安装命令中提供给安装脚本标记的值:
- 将
INSTALLER_SCRIPT设置为传递给curl命令的URL的值 - 将
SDK_URL设置为传递给--sdk-url脚本标记的值 - 将
SIM_URL设置为传递给--sim-url脚本标记的值 - 将
SDK_VERSION设置为传递给--version脚本标记的值
docker build . --tag ksdk \
--build-arg INSTALLER_SCRIPT=<安装程序脚本URL> \
--build-arg SDK_URL=<SDK URL> \
--build-arg SIM_URL=<SIM URL> \
--build-arg SDK_VERSION =\ <版本>
--build-arg SDK_ROOT=/tmp/kepler
Last updated: 2025年10月14日

