云服务器内容精选

  • 配置说明 在Yaml文件中,添加如下代码: version: 2.0 buildspace: #表示使用BuildSpace fixed: true path: kk clean: true clean_exclude: - cache #排除的具体路径 - aa #排除的具体路径 - bb #排除的具体路径 代码参数说明如下: 参数名 参数类型 描述 是否必填 默认值 fixed string true:使用固定路径。 false:不使用固定路径。 否 false path string 当使用固定路径时,路径为:/devcloud/slavespace/usr1/+"${domainId}"+/。配置path参数,表示在前面的固定路径基础上拼接路径。 例如:“path”配置路径为“kk”,那么固定路径为:/devcloud/slavespace/usr1/+"${domainId}"+/kk。 否 无 clean string true:需要清理固定路径。即路径是固定的,但是每次执行完会清理路径下的文件。 false:不清理固定路径。但是工作空间有限的,当文件容量达到工作空间上限后,需要手动清理工作空间(clean配置为true即可)。 说明: 如果未配置清理固定路径,当文件容量达到工作空间上限后,会自动清理当前租户下的固定路径中所有文件。 工作空间指的是用户自定义的执行机的规格。 否 true clean_exclude string 表示使用路径清理,但是排除以下路径。仅支持指定固定路径下的一级文件夹。 否 不涉及
  • 背景说明 在编译构建服务中,默认每一次构建都会使用一个空白的且随机的目录(比如/devcloud/ws/sMMM/workspace/j_X/)作为此次构建的根目录,这个根目录所代表的空间称为BuildSpace。 BuildSpace的路径默认是随机的,即使是同一个项目的不同构建任务的BuildSpace也会被随机分配。 但是在某些场景下固定一个BuildSpace的路径是有必要的,因此编译构建服务支持配置BuildSpace,以固定构建执行目录。
  • 图形化配置 预置“构建环境配置”步骤。 参数说明如下: 参数项 说明 构建环境主机类型 X86服务器、鲲鹏(ARM)服务器。 执行主机 用来执行编译构建任务的计算资源,在编译构建服务中,该计算资源为虚拟机。执行主机包括内置执行机和自定义执行机。 内置执行机:编译构建服务自身提供的执行主机,用户无需配置即可开箱即用。 自定义执行机:用户自行提供的计算资源,通过注册的方式托管到编译构建服务中,通过编译构建服务进行调度并执行构建任务。 可根据实际情况选择内置执行机或自定义执行机,自定义执行机为在资源池中添加的代理执行机,具体自定义操作可参考资源池管理。
  • 代码化构建 代码示例如下: 1 2 3 4 5 6 7 version: 2.0 # 必须是2.0,该版本号必填且唯一 env: # 定义构建环境信息。非必填,如果不填写,默认使用X86 resource: type:docker # 资源池类型:docker或custom,其中docker表示使用默认执行机,custom表示使用自定义执行机 arch:X86 # 构建环境主机类型:X86或ARM class:8U16G # 规格:2U8G、4U8G、8U16G、16U32G或16U64G,当type为custom时无需填写该参数 pool:Mydocker #资源池名称,当type为custom时需要填写该参数
  • 代码化构建(单仓下载) 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仓库地址。 否 https://gerrit.googlesource.com/git-repo repo_branch string repo仓库分支。 否 stable username string 下载仓库时使用的用户名。 否。 下载非公开仓库时需填写。 无 password string 下载仓库时使用的密码,https密码。 否。 下载非公开仓库时需填写。 无 manifest_file中定义的多个仓库,必须为同一种代码源。 manifest_url与manifest_file必须为同一种代码源;如果为非公开仓库,username&password应该有下载权限。 repo_url对应的repo仓库,需要有下载权限(仓库开源,或者仓库私有但配置了账号密码)。 以上非必填的参数,如果配置的值为空,则使用默认值。 建议在使用非公开仓库时,用户名密码通过构建的私密参数进行配置,详情参考配置构建任务参数 (可选操作)。 该功能目前仅支持北京四区域使用,其余区域后续上线。
  • 图形化构建 可选择使用指定代码仓库Tag或CommitID构建,同时可选择开启子模块(submodules)自动更新与Git LFS。 预置“代码下载配置”步骤。 参数说明如下: 参数项 说明 使用指定代码仓库Tag或CommitID构建 不指定、指定Tag构建、指定CommitID构建。 子模块(submodules)自动更新 子模块属于Git的一个概念,是为了解决代码仓库包含并使用其他项目代码仓库的问题,详见子模块管理(Git Submodule操作)。 开启:当代码仓库存在子模块时,系统在构建时会自动拉取子模块仓库的代码。 不开启:系统不会自动拉取子模块仓库的代码。 开启Git LFS 根据需要选择是否开启“Git LFS”,构建默认不拉取音视频、图像等大型文件,开启“Git LFS”后,构建将会全量拉取文件。 指定Tag构建:需按照以下操作执行。 Tag是指代码仓库中的标签,若代码源选择Repo,那么关于如何创建Tag可参见标签管理。 在编译构建任务中,选择“指定Tag构建”,可以使用历史版本代码进行构建。 执行任务时,会出现弹窗,输入标签名,单击“确定”,即可执行任务。 指定CommitID构建:需按照以下操作执行。 CommitID是指提交代码时生成的编号,若代码源选择Repo,则在代码仓库中显示如下。 在编译构建任务中,可以通过指定CommitID来使用历史版本代码进行构建。 选择“指定CommitID构建”,输入克隆深度,保存任务。 克隆深度是指距离最近一次提交的提交次数,该值越大,检出代码的时间越长。深度为正整数,推荐最大深度为25。 例如:克隆深度输入5,那么在执行任务时,参数“CommitID”填写距离最近提交的前5个提交号中的任意一个都可以。 执行任务时,会出现弹窗,按需要输入CommitID,单击“确定”,即可启动任务执行。
  • 删除构建任务 单击编译构建任务所在行,在下拉列表中选择“删除”。请根据实际情况确定是否删除对应构建任务。 删除的构建任务可到构建任务回收站中查看。在编译构建首页右上角单击“更多”,在下拉列表选择“构建任务回收站”。 页面中展示已删除的构建任务,根据需要可以完成以下相关操作。 操作 说明 修改任务保留时间 单击“任务保留时间”下拉列表,根据需要选择时长,可选天数范围为1~30天。 搜索任务 在搜索框中输入待搜索内容,单击搜索,即可在页面中查看搜索结果。 删除任务 在列表中勾选待删除的任务,单击“删除”,即可将所选任务从回收站中删除。 恢复任务 在列表中勾选待恢复的任务,单击“恢复”,即可将所选任务恢复到编译构建服务的任务列表中。 清空回收站 单击“清空回收站”,可将回收站中所有任务删除。
  • 编辑构建任务 登录编译构建服务首页。 在编译构建任务列表搜索目标任务。 单击编译构建任务所在行,在下拉列表中选择“编辑”,进入“编辑任务”页面。 基本信息:可修改任务名称、代码源、代码仓、默认分支、任务描述等信息。 构建步骤:可修改构建步骤、步骤参数等信息。 参数设置:可配置执行任务时的自定义参数。 执行计划:可配置触发事件(持续集成)和定时执行。 修改历史:可查看构建任务的修改记录。 权限管理:可配置不同角色的权限。 通知:可配置任务事件类型通知信息(包括任务构建成功、失败、删除、配置更新、被禁用)。 根据需要选择对应页签并进行编辑,单击“保存”完成修改。
  • 配置CMake构建加速 添加“CMake构建”构建步骤。 工具版本选择“cmake3.16.5-gcc7.3.0”,根据加速原理以及效果的不同,构建加速分为L1/L2/L3三种模式,请根据购买的加速规格使用加速命令,下方示例为开启L1模式加速: cmake -G'Unix Makefiles'../&& BuildAccelerateL1 make -j8 //开启构建加速只需在make前添加加速命令:BuildAccelerateL1 //切换模式只需将BuildAccelerate后的L1替换为L2/L3。 //最大并发CPU核数,即make -j后面的数字,最大256。 单击“新建”,开始执行构建任务。 加速命令只允许写在最外层,不允许通过shell脚本等调用。 同一次构建任务中禁止混用不同级别的加速命令,将导致任务无法保存与执行,例如: 使用yaml配置CMake构建支持使用构建加速,与图形化构建相同,修改工具版本并添加加速命令即可,如何使用yaml配置CMake构建请参考使用CMake构建。
  • 配置基本信息 新建项目。 新建代码仓库。 登录编译构建服务首页。 单击“新建任务”,进入配置“基本信息”页面,填写构建任务基本信息。使用图形化构建,参考表1;使用代码化构建,参考表2。 表1 图形化构建基本信息配置说明 参数项 描述 任务名称 任务的名称。 归属项目 任务所属项目。 代码源 Repo:从代码托管服务拉取代码进行构建。 其他项目Repo:从其他项目的代码托管中拉取代码进行构建,请选择已有的项目、该项目下已经创建的代码仓以及默认分支。 来自流水线:如果选择来自流水线,则只能通过流水线任务驱动执行,不能单独执行。 以下为第三方代码仓库,首次使用第三方代码仓,需新建服务扩展点,详情可参考新建服务扩展点(可选操作)。 GitHub:拉取托管在GitHub上的代码进行构建。 通用Git:拉取托管在其他服务上的代码进行构建。 GitCode:拉取托管在GitCode仓库上的代码进行构建。 码云:拉取托管在码云上的代码进行构建。 Gerrit:拉取托管在Gerrit上的代码进行构建。 代码仓 选择实际使用的代码仓。 默认分支 选择仓库默认分支。 任务描述 对任务进行描述。 表2 代码化构建基本信息配置说明 参数项 描述 任务名称 任务的名称。 归属项目 任务所属项目。 代码源 选择Repo:表示从代码托管拉取代码进行构建。 代码仓 选择实际使用的代码仓。 默认分支 选择仓库默认分支。 任务描述 对任务进行描述。
  • 配置构建任务执行计划(可选操作) 编译构建支持用户配置触发事件和定时执行任务,从而使得开发者达到项目持续集成的目的。 切换至“执行计划”页签,根据实际需要配置执行计划。 持续集成:将“提交代码触发执行”按钮设置为开启状态,构建任务所引用的代码源发生提交代码行为时,则会触发执行构建任务。 代码源为“Repo”时才能使用。 定时执行:将“启用定时执行”按钮设置为开启状态,选择需要构建任务定时执行的时间,并可按需开启是否“代码变化才执行”。 功能开启后,构建任务会按照您设定的执行日与时间定时执行。 若同时开启了“代码变化才执行”按钮,只有到达设定的执行日和时间,并且代码与上次构建有所变动时才会执行构建任务。
  • 配置构建任务角色权限(可选操作) 编译构建支持为当前构建任务的各个角色配置权限,默认的用户角色类型及对构建任务的操作权限说明参考表3。 表3 编译构建默认角色权限矩阵 项目角色 编辑 删除 查看 执行 复制 禁用 权限管理 任务创建者 √(*) √(*) √(*) √(*) √(*) √(*) √(*) 项目创建者 √(*) √(*) √(*) √(*) √(*) √(*) √(*) 项目经理 √ √ √ √ √ √ √ 开发人员 √ √ √ √ √ √ × 测试经理 × × √ × × × × 测试人员 × × × × × × × 参与者 × × × × × × × 浏览者 × × √ × × × × “√”表示默认有权限,“×”表示默认没有权限。 拥有“权限管理”权限的角色可以修改权限矩阵,但带“*”的权限不可修改。 项目创建者、项目经理和开发人员可以创建编译构建任务。 切换至“权限管理”页签,可根据实际需要配置不同角色的操作权限。 单击“同步项目权限”,可将当前构建任务的权限同步为项目权限。项目权限配置详情请参考配置项目级角色权限。
  • 配置构建任务参数 (可选操作) 编译构建服务默认生成codeBranch参数和系统预定义参数。用户可以根据需要修改codeBranch参数类型和参数值,并添加其他自定义参数。 系统预定义参数的参数值由系统自动生成,无需定义,可通过${参数名}引用。 配置指导如下: 切至“参数设置”页签,单击“新建参数”。 新建字符串类型参数:“类型”选择“字符串”,根据实际需要修改参数名、参数类型、参数值,以及是否设置为私密参数或者运行时设置。 新建枚举类型参数:填写参数名称,“类型”选择“枚举”,在弹出的对话框中,填写“可选取值”,每个参数值必须以英文分号结尾。设置完后,在“默认值”列单击下拉列表,为该参数设置一个默认值。 新建自增长类型参数:“类型”选择“自增长”,在“默认值”列设置参数。 使用参数示例如下。 使用自定义参数 配置执行参数。 编辑构建任务,选择“参数设置”页签,添加一条参数,设置参数名称和参数值(本例参数名设置为“myparam”、默认值设置为“1.0.1.1”),打开“运行时设置”。 使用执行参数。 切换到“构建步骤”页签,配置构建步骤,在发布版本号文本框里输入“${myparam}”,保存构建任务。 执行构建任务。 弹出“设定参数并执行”框,根据实际情况输入值或者使用默认值。 本构建任务是Maven构建并且开通了制品仓库服务,所以可以在制品仓库服务里查到该任务的构建包。 进入软件发布库,找到刚构建的构建包,即可看到版本号就是用户自定义的执行参数“myparam”值。 系统预定义参数 配置执行参数。 编辑构建任务,选择“构建步骤”页签,配置构建步骤,在发布版本号文本框里输入“${BUILDNUMBER}”,保存构建任务。 参数名 说明 BUILDNUMBER 构建编号。格式为“日期.今日该构建任务执行次数”,例如:20200312.3。 TIMESTAMP 构建执行时间戳。例如:20190219191621。 INCREASENUM 该任务构建执行总次数,从1开始自增长,每执行1次加1。 PROJECT_ID 项目编号。 WORKSPACE 工作空间,源代码根目录。 GIT_TAG 代码tag名,使用tag构建时才有值。 COMMIT_ID_SHORTER 代码提交号的前8位。 COMMIT_ID 代码提交号。例如:b6192120acc67074990127864d3fecaf259b20f5。 执行构建任务。 本构建任务是Maven构建并且开通了制品仓库服务,所以可以在软件发布库里查到该任务的构建包。 进入软件发布库,找到刚构建的构建包,即可看到版本号就是系统的执行参数“BUILDNUMBER”的值。
  • 配置基本信息 新建项目。 新建代码仓库。 登录编译构建服务首页。 单击“新建任务”,进入配置“基本信息”页面,填写构建任务基本信息。使用图形化构建,参考表1;使用代码化构建,参考表2。 表1 图形化构建基本信息配置说明 参数项 描述 任务名称 任务的名称。 归属项目 任务所属项目。 代码源 Repo:从代码托管服务拉取代码进行构建。 其他项目Repo:从其他项目的代码托管中拉取代码进行构建,请选择已有的项目、该项目下已经创建的代码仓以及默认分支。 来自流水线:如果选择来自流水线,则只能通过流水线任务驱动执行,不能单独执行。 以下为第三方代码仓库,首次使用第三方代码仓,需新建服务扩展点,详情可参考新建服务扩展点(可选操作)。 GitHub:拉取托管在GitHub上的代码进行构建。 通用Git:拉取托管在其他服务上的代码进行构建。 GitCode:拉取托管在GitCode仓库上的代码进行构建。 码云:拉取托管在码云上的代码进行构建。 Gerrit:拉取托管在Gerrit上的代码进行构建。 代码仓 选择实际使用的代码仓。 默认分支 选择仓库默认分支。 任务描述 对任务进行描述。 表2 代码化构建基本信息配置说明 参数项 描述 任务名称 任务的名称。 归属项目 任务所属项目。 代码源 选择Repo:表示从代码托管拉取代码进行构建。 代码仓 选择实际使用的代码仓。 默认分支 选择仓库默认分支。 任务描述 对任务进行描述。