更新时间:2025-10-14 GMT+08:00
分享

配置代码下载

配置构建时从代码仓拉取代码的下载方式。

可选择使用指定代码仓库Tag或CommitID构建,同时可选择开启子模块(submodules)自动更新与Git LFS。

预置“代码下载配置”步骤,参考表1配置参数。

表1 代码下载配置参数说明

参数

说明

代码下载方式

配置构建下载代码的方式。

  • 分支:按照代码仓分支进行拉取。
  • Tag:仅拉取指定Tag的代码进行构建。执行构建任务时需在弹框中选择Tag。

    Tag是指代码仓库中的标签。如果代码源选择的是Repo,关于如何创建Tag可参见标签管理。如果代码源使用的是第三方代码仓,需在第三方代码仓中创建标签。

  • CommitID:仅拉取指定CommitID的代码进行构建。执行构建任务时需在弹框中输入CommitID。

    CommitID是指提交代码时生成的编号。以Repo代码仓为例,CommitID在代码仓库中显示如图1

    图1 CommitID

克隆深度

可选参数。

克隆深度是指距离最近一次提交的提交次数,该值越大,检出代码的深度越深。深度为正整数,推荐最大深度为25。

例如:克隆深度5就表示只克隆最新5次提交记录以及提交之后的最新内容,不克隆历史提交。

子模块(submodules)自动更新

子模块(submodule)是Git为管理仓库共用而衍生出的一个工具,通过子模块用户可以将公共仓库作为子目录包含到用户的仓库中,并能够双向同步该公共仓库的代码,借助子模块用户能将公共仓库隔离、复用,能随时拉取最新代码以及对它提交修复,能大大提高团队效率。更多详情请参考配置代码仓库的子模块设置

  • 开启:当代码仓库存在子模块时,系统在构建时会自动拉取子模块仓库的代码。
  • 不开启:系统不会自动拉取子模块仓库的代码。

开启Git LFS

根据需要选择是否开启“Git LFS”,构建默认不拉取音视频、图像等大型文件,开启“Git LFS”后,构建将会全量拉取文件。

参考以下代码示例,修改在创建代码化构建使用的YAML文件中的PRE_BUILD部分代码信息。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
version: 2.0 # 必须是2.0
steps:
  PRE_BUILD:
    - checkout:
        name: checkout
        inputs:
          scm: codehub # 代码来源:仅支持Repo
          url: xxxxxxxxx # 拉取代码的ssh地址。
          branch: ${codeBranch} # 必填,但在实际执行时,以页面上选择的分支为准
          commit: ${commitId}
          lfs: true
          submodule: true
          depth: 100
          tag: ${tag}
          path: test
表2 单仓下载代码示例参数说明

参数

类型

说明

scm

string

填写代码源:当前只支持Repo,如果yaml文件中没配置,则使用构建任务配置的代码仓信息。

默认值:codehub。

url

string

填写拉取代码的代码仓ssh地址。

branch

string

拉取的代码分支。

必填,但在实际执行时,以页面上选择的分支为准。

commit

string

可选参数。指定commitId构建时,填写拉取的commitId。

支持参数化,可使用${commitId}调用。

tag

string

可选参数。指定tag构建时,填写拉取的tag。

支持参数化,可使用${tag}调用。如果同时指定commitId和tag,优先执行commitId构建。

depth

int

可选参数。浅克隆深度:当选择commitId构建时,depth必须大于等于commitId所在深度。

默认值:1。

submodule

bool

可选参数。配置是否拉取子模块。

  • true:拉取。
  • false:不拉取。

默认值:false。

lfs

bool

可选参数。配置是否开启git lfs。

  • true:开启。
  • false:不开启。

构建默认不拉取音视频、图像等大型文件,开启git lfs后,构建将会全量拉取文件。默认值:false。

path

string

可选参数。clone的子路径:代码将会下载到子目录下。

相关文档