云服务器内容精选

  • 配置示例 编写BuildFlow配置中build_ref指定的accelerate.yml,示例如下: 1 2 3 4 5 6 7 8 91011121314151617181920212223242526272829 version: 2.0 params: - name: TB_BUILD_TARGET value: "droid" - name: TB_NINJA_FILE value: "out/combined-aosp_x86_64.ninja" - name: TB_RSYNC value: ${WORKSPACE}/AOSP/:out/target/product/generic_x86_64 - name: TB_NINJA_RULE value: "nonSystem" - name: TB_NINJA_ARGS value: "-d keepdepfile -d keeprsp -k 1 -w dupbuild=err -w missingdepfile=err" steps: PRE_BUILD: - checkout: name: "checkout" inputs: scm: "codehub" url: "git@codehub.devcloud.xx-xx-x.xx.com:xxx.git" branch: "master" lfs: false submodule: false BUILD: - tbuild_execute: inputs: image: "swr.xx-xx-x.myxxcloud.com/buildimage:AOSP" command: "cd AOSP && chmod a+x build.sh && BuildAccelerateL3 -AOSP ./build.sh"
  • params参数项详解 params配置项指定了一些使用AOSP构建加速必配的参数,参数说明如下: 参数项 是否必填 描述 示例 TB_BUILD_TARGET 是 原始构建的编译目标。 "droid" TB_NINJA_FILE 是 原始构建ninja文件的路径,一般位于代码目录下的out/{产品名}目录。常见取值为“combined-aosp_x86_64.ninja”,以实际使用的文件名为准。 "out/combined-aosp_x86_64.ninja" TB_RSYNC 是 需要同步的产物文件目录,“:”前为根目录,“:”后为若干个以“,”分隔的子目录,子目录前带“!”代表此目录不同步,不带“!”代表此目录的所有文件会被同步,带“!”的优先级更高。在AOSP构建场景下,需要拼接为“${WORKSPACE}/实际目录”。 "${WORKSPACE}/AOSP/:out/target/product/generic_x86_64,\!out/target/product/generic_x86_64/obj,\!out/target/product/generic_x86_64/symbols,\!out/target/product/generic_x86_64/obj_x86,\!out/target/product/generic_x86_64/obj_arm,\!out/target/product/generic_x86_64/gen" TB_NINJA_RULE 是 用于Target切割及分发,AOSP固定。 nonSystem,apex,system_ext_apex,apex_long,system_ext_apex_long,apex_other,system_ext_apex_other,apex_other2,system_ext_apex_other2,framework,etc,fonts,media,usr,fake_packages,packaging_script,bin_other1,system_ext,product,priv-app,priv-app2,priv-app3,lib,lib64,app,bin,bin_other2 TB_NINJA_ARGS 是 增加ninja构建参数。 "-d keepdepfile -d keeprsp -k 1 -w dupbuild=err -w missingdepfile=err"
  • steps参数项详解 steps配置项定义了构建过程,示例中包含如下两个步骤:PRE_BUILD(构建前准备)和BUILD(编译构建)。 PRE_BUILD 此阶段主要做代码下载,参数解释如下: 123456789 PRE_BUILD: - checkout: # 代码下载步骤 name: "代码下载" # 步骤名称,可自定义 inputs: # 步骤参数 scm: "codehub " # 代码来源:只支持CodeArts Repo(原codehub) url: " git@codehub.devcloud.xx-xx-x.xx.com:xxx.git " # 拉取代码的ssh地址。 branch: "master" # 拉取的代码分支。 lfs: false # 选择是否开启Git LFS,false关闭、true开启。构建默认不拉取音视频、图像等大型文件,开启Git LFS后,构建将会全量拉取文件。 submodule: false # false关闭、true开启。开启该功能,系统在构建时会自动拉取子模块仓库的代码;反之则不会自动拉取子模块仓库的代码。 BUILD 此阶段主要定义了tbuild_execute插件,参数解释如下: 1 2 3 4 5 6 7 8 910 BUILD: - tbuild_execute: # AOSP加速场景下固定配置,定义tbuild_execute插件 inputs: # 固定配置 image: "swr.xx-xx-x.myxxcloud.com/buildimage:AOSP" # 构建使用的镜像,参考加速前准备章节制作docker镜像。 command: "cd AOSP && chmod a+x build.sh && BuildAccelerateL3 -AOSP ./build.sh" # command为构建使用的命令,此处将构建分解为两个段落,准备和执行# 准备阶段:在代码仓根目录新建build.sh,内容见build.sh样例# 构建阶段:依照加速级别调用加速命令(BuildAccelerateL1 BuildAccelerateL3)的AOSP模式(- AOSP)直接执行构建,此处样例取值BuildAccelerateL3 -AOSP# 后处理阶段:以实际工程需要为准,该示例仅使用post_build.sh# 实际命令最终拼接为"cd AOSP && chmod a+x build.sh && BuildAccelerateL3 -AOSP ./build.sh && post_build.sh" build.sh样例: 123 source build/envsetup.shlunch aosp_x86_64-engmake -j64