编译构建 CODEARTS BUILD-对鸿蒙构建工程配置构建加速:steps参数项详解

时间:2025-01-13 16:48:07

steps参数项详解

steps配置项定义了构建过程,示例中包含如下两个步骤:PRE_BUILD(构建前准备)和BUILD(编译构建)。

  • PRE_BUILD

    此阶段主要做代码下载,参数解释如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
      PRE_BUILD:
      - checkout: # 代码下载步骤
          name: "代码下载" # 步骤名称,可自定义
          inputs: # 步骤参数
            scm: "codehub " # 代码来源:只支持Repo
            url: "git@codehub.devcloud.example.example.com:test/python3.git" # 拉取代码的ssh地址。
            branch: "master" # 拉取的代码分支。
            lfs: false # 选择是否开启Git LFS,false关闭、true开启。构建默认不拉取音视频、图像等大型文件,开启Git LFS后,构建将会全量拉取文件。
            submodule: false # false关闭、true开启。开启该功能,系统在构建时会自动拉取子模块仓库的代码。
    
  • BUILD

    此阶段主要定义了download_artifact插件、tbuild_execute插件和upload_artifact插件,参数解释如下:

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    BUILD: 
      - tbuild_execute: # 鸿蒙加速场景下固定配置,定义tbuild_execute插件 
          inputs: # 固定配置 
            image: "swr.xx-xx-x.myxxcloud.com/buildimage:ohos-x86-v1" # 构建使用的镜像,参考加速前准备章节制作docker镜像。 
            command: "mv /example/TB1.json OpenHarmony/TB1.json && cd OpenHarmony && BuildAccelerateL3 -HarmonyOS ./build.sh --product-name rk3568 --build-target make_all --ccache false -v && post_build.sh"  
    # command为构建使用的命令,此处将构建分解为两个段落,准备和执行
    # mv /example/TB1.json OpenHarmony/TB1.json是依赖解析模式独有的准备步骤,文件名字固定,如果工程中存在多个ninja构建,则文件的下标依次增加,例如TBTrace_target_2.json和TB2.json,以此类推。
    # 准备阶段:使用加速前准备章节中获取的./build.sh --product-name rk3568 --build-target make_all --build-only-gn --ccache false -v
    # 构建阶段:依照加速级别调用加速命令(BuildAccelerateL1 BuildAccelerateL3)的鸿蒙模式(-HarmonyOS)直接执行构建,此处样例取值BuildAccelerateL3 -HarmonyOS
    # 后处理阶段:以实际工程需要为准,该示例仅使用post_build.sh
    # 依赖解析模式实际命令最终拼接为"mv /example/TB1.json OpenHarmony/TB1.json && cd OpenHarmony && BuildAccelerateL3 -HarmonyOS ./build.sh --product-name rk3568 --build-target make_all --ccache false -v && post_build.sh"
    # 产物分类模式实际命令最终拼接为"cd OpenHarmony && BuildAccelerateL3 -HarmonyOS ./build.sh --product-name rk3568 --build-target make_all --ccache false -v && post_build.sh"
    

    build.sh样例:

    1
    2
    3
    source build/envsetup.sh
    lunch aosp_x86_64-eng
    make -j64
    
support.huaweicloud.com/usermanual-codeci/codeci_ug_1056.html