配置代码下载
配置代码下载方式。
图形化构建
可选择使用指定代码仓库Tag或CommitID构建,同时可选择开启子模块(submodules)自动更新与Git LFS。
预置“代码下载配置”步骤。
参数说明如下:
| 参数项 | 说明 |
|---|---|
| 使用指定代码仓库Tag或CommitID构建 | 不指定、指定Tag构建、指定CommitID构建。 |
| 子模块(submodules)自动更新 | 子模块属于Git的一个概念,是为了解决代码仓库包含并使用其他项目代码仓库的问题,详见。
|
| 开启Git LFS | 根据需要选择是否开启“Git LFS”,构建默认不拉取音视频、图像等大型文件,开启“Git LFS”后,构建将会全量拉取文件。 |
指定Tag构建:需按照以下操作执行。
Tag是指代码仓库中的标签,若代码源选择Repo,那么关于如何创建Tag可参见。
指定CommitID构建:需按照以下操作执行。
CommitID是指提交代码时生成的编号。
在编译构建任务中,可以通过指定CommitID来使用历史版本代码进行构建。
代码化构建(单仓下载)
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和opensource url: xxxxxxxxx # 拉取代码的ssh地址。 branch: ${codeBranch} # 任何时候都必填,支持参数化 commit: ${commitId} lfs: true submodule: true depth: 100 tag: ${tag} path: test |
参数说明如下:
| 参数名 | 参数类型 | 描述 | 是否必填 | 默认值 |
|---|---|---|---|---|
| scm | string | 代码源:当前只支持CodeArts Repo,如果yaml中没配置,则使用构建任务配置的代码仓信息。 | 否 | codehub |
| url | string | 拉取代码的ssh地址。 | 是 | 无 |
| branch | string | 拉取的代码分支:支持参数化。 | 是 | 无 |
| commit | string | commitId构建时拉取的commitId:支持参数化。 | 否 | 无 |
| tag | string | tag构建时拉取的tag:支持参数化,如果commitId和tag同时存在,优先执行commitId构建。 | 否 | 无 |
| depth | int | 浅克隆深度:当选择commitId构建时,depth必须大于等于commitId所在深度。 | 否 | 1 |
| submodule | bool | 是否拉取子模块:true为拉取;false为不拉取。 | 否 | false |
| lfs | bool | 是否开启git lfs:为true时会执行git lfs pull。 | 否 | false |
| path | string | clone的子路径:代码将会下载到子目录下面。 | 否 | 无 |
代码化构建(manifest多仓下载)
在安卓、鸿蒙等场景下,一次构建需要同时集成数百甚至上千个代码仓,多个代码仓的集成下载效率至关重要。
编译构建集成Repo下载工具,用户只需进行简单配置即可实现多个代码仓的联动集成。当前支持Repo、gerrit两种类型的代码仓。
配置参考如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | version: 2.0 # 必须是2.0 steps: PRE_BUILD: - manifest_checkout: name: "manifest" inputs: manifest_url: "https://example.example.example.example.example.com/xx/manifest.git" manifest_branch: "master" manifest_file: "default.xml" path: "dir/dir02" repo_url: "https://example.example.example.example.example.com/xx/git-repo.git" repo_branch: "master" username: "someone" password: "${PASSWD}" |
参数说明如下:
| 参数名 | 参数类型 | 描述 | 是否必填 | 默认值 |
|---|---|---|---|---|
| name | string | 步骤名称。 | 否 | manifest_checkout |
| manifest_url | string | 指定manifest仓地址,包含xml文件的仓库。 | 是 | 无 |
| manifest_branch | string | 指定manifest分支或revision。 | 否 | HEAD |
| manifest_file | string | manifest文件路径。 | 否 | default.xml |
| path | string | 自定义manifest所有子仓下载路径,为工作目录的相对路径 路径不能以“/”开头,不能包含“.”。 | 否 | 默认为工作目录。 |
| repo_url | string | repo仓库地址。 | 否 | |
| repo_branch | string | repo仓库分支。 | 否 | stable |
| username | string | 下载仓库时使用的用户名。 | 否。 下载非公开仓库时需填写。 | 无 |
| password | string | 下载仓库时使用的密码,https密码。 | 否。 下载非公开仓库时需填写。 | 无 |
- manifest_file中定义的多个仓库,必须为同一种代码源。
- manifest_url与manifest_file必须为同一种代码源;如果为非公开仓库,username&password应该有下载权限。
- repo_url对应的repo仓库,需要有下载权限(仓库开源,或者仓库私有但配置了账号密码)。
- 以上非必填的参数,如果配置的值为空,则使用默认值。
- 建议在使用非公开仓库时,用户名密码通过构建的私密参数进行配置,详情参考配置构建任务参数 (可选操作)。