配置代码下载
配置代码下载方式。
可选择使用指定代码仓库Tag或CommitID构建,同时可选择开启子模块(submodules)自动更新与Git LFS。
预置“代码下载配置”步骤。
参数说明如下:
参数项 |
说明 |
---|---|
使用指定代码仓库Tag或CommitID构建 |
不指定、指定Tag构建、指定CommitID构建。 |
子模块(submodules)自动更新 |
子模块属于Git的一个概念,是为了解决代码仓库包含并使用其他项目代码仓库的问题,详见子模块管理(Git Submodule操作)。
|
开启Git LFS |
根据需要选择是否开启“Git LFS”,构建默认不拉取音视频、图像等大型文件,开启“Git LFS”后,构建将会全量拉取文件。 |
指定Tag构建:需按照以下操作执行。
Tag是指代码仓库中的标签,若源码源选择Repo,那么关于如何创建Tag可参见标签管理。
指定CommitID构建:需按照以下操作执行。
CommitID是指提交代码时生成的编号,若源码源选择Repo,则在代码仓库中显示如下。
在编译构建任务中,可以通过指定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的子路径:代码将会下载到子目录下面。 |
否 |
无 |
在安卓、鸿蒙等场景下,一次构建需要同时集成数百甚至上千个代码仓,多个代码仓的集成下载效率至关重要。
编译构建集成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仓库,需要有下载权限(仓库开源,或者仓库私有但配置了账号密码)。
- 以上非必填的参数,如果配置的值为空,则使用默认值。
- 建议在使用非公开仓库时,用户名密码通过构建的私密参数进行配置,详情参考配置构建任务参数 (可选操作)。
- 该功能目前仅支持北京四区域使用,其余区域后续上线。