检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
针对C/C++语言构建工程,需要提升构建效率的问题,编译构建服务支持构建加速能力,通过分布式编译和增量编译等技术实现构建加速,支撑企业研发过程的快速迭代,缩短产品的上市周期。 本实践通过L3级别的加速包为您演示如何进行构建加速。 本实践需要依赖使用的其他服务如下: 代码托管服务,用于存储实践中项目所使用的代码。 约束限制
前提条件 已新建构建任务,且用户具有执行/禁用构建任务的权限。 执行构建任务 通过项目入口方式访问CodeArts Build服务首页。 在编译构建服务首页搜索目标任务,单击构建任务所在行的,开始执行构建任务。 如果构建任务配置了运行时参数且被引用,将弹出参数设置提示框,根据实际情况设置执行参数值后单击确定即可。
背景信息 当常用的编译构建环境无法满足构建需求时,通过自定义构建环境提供的基础镜像,添加项目需要的依赖和工具,制作Dockerfile文件,然后自定义构建环境,再使用自定义环境构建。 基础镜像 编译构建使用centos7和ubuntu18作为基础镜像,并提供多种构建常用的配置环境工具,用户可以根据需要配置自定义构建环境。
APK进行签名。 图形化构建 配置构建步骤时,在“Android构建”步骤后添加“Android APK签名”步骤。 参数说明如下: 参数 说明 步骤显示名称 构建步骤的名称,可自定义修改。 需要签名的APK路径 Android构建后生成要签名的.apk文件位置,支持正则表达式,如:可以使用build/bin/*
执行构建时未拉取子模块 问题现象 构建拉取Repo代码时,存在“.gitmodules”文件且确认配置正确,但是没有去拉取子模块。 原因分析 此问题一般为没开启子模块自动更新。 处理办法 编辑构建任务,选择“代码下载配置”构建步骤,将“子模块(submodules)自动更新”开关打开。 父主题: 通用构建问题
新建CodeArts Repo代码仓 新建本实践需要使用的代码仓。 配置Maven构建产物发布的私有依赖库地址 配置构建产物上传的私有依赖库的地址。 新建编译构建任务 新建本实践需要使用的编译构建任务。 配置构建步骤并执行构建任务 配置“下载文件管理的文件”和“Maven构建”步骤并执行构建任务。
参考自定义settings.xml文件,将修改后的settings.xml文件上传至代码仓根目录。 在构建任务列表页,单击对应的构建任务名称。 单击“编辑”按钮,在“Maven构建”步骤的命令窗口中,--settings settings.xml,即可使用已添加的“settings.xml”文件执行Maven构建。
执行Msbuild构建时,编译过程出现的file path too long问题 问题现象 成功拉取代码以后,构建过程中, 提示无法拷贝***文件,文件路径长度超过260字符。 原因分析 Windows系统中,文件全路径的最大长度限制为260字符,超过此长度会导致Msbuild构
执行。 以下为非CodeArts的第三方代码仓库。 GitHub:拉取托管在GitHub上的代码进行构建。 通用Git:拉取托管在其他服务上的代码进行构建。 GitCode:拉取托管在GitCode仓库上的代码进行构建。 码云:拉取托管在码云上的代码进行构建。 Gerrit:拉取托管在Gerrit上的代码进行构建。
L1级别:对于C/C++的工程,典型的编译过程是CPU消耗型任务,编译效率受限于编译并发度,编译并发度受限于单机资源规格,传统的单机构建模式很难突破资源规格的瓶颈。L1级别通过分布式编译技术,将单机编译任务分发到加速包后台资源上进行编译,支持远超单机资源的并发数,突破单机资源规格的限制,从而实现提升编译效率的目标。
定义构建任务自动触发时的一些规则。通过触发器,使编译构建的自动化执行更加灵活易用 构建模板 按照编程语言或者编译框架提供的包含构建环境、样例构建命令及参数的模板,用户可基于模板简单修改即可开始构建,可提升任务配置效率。 步骤 一个步骤代表编译过程中的一个自动化环节,如编译一个ja
在编译构建中,构建任务是构建的最小单元,适用于业务比较简单的场景,但是在有些复杂的构建场景下,构建任务可能并不能满足复杂的构建要求。例如,用户希望更模块化、更加细粒度的拆分构建任务,并按照构建任务之间的依赖顺序进行构建。 为此,编译构建服务支持使用BuildFlow将多个存在依赖关系的构建任务按照
在编译构建中,构建任务是构建的最小单元,适用于业务比较简单的场景,但是在有些复杂的构建场景下,构建任务可能并不能满足复杂的构建要求。例如,用户希望更模块化、更加细粒度的拆分构建任务,并按照构建任务之间的依赖顺序进行构建。 为此,编译构建服务支持使用BuildFlow将多个存在依赖关系的构建任务按照
下载文件管理的文件 文件管理主要用来存储Android APK的签名文件和Maven构建settings.xml文件并提供对这类文件的管理(如:新建、编辑、删除、权限设置),上传文件的操作可参考文件管理。通过配置“下载文件管理的文件”构建步骤,可以将“文件管理”的文件下载到工作目录并使用。
利用云端构建海量构建资源,采用多样化的云端构建加速手段,实现本地构建无法企及的构建速度。 云上弹性资源,任务并行执行。 全局和租户两级缓存。 专线网络,传输更快。 易扩展 灵活对接不同的代码托管服务。 支持用户自定义构建环境。 支持不同的源码托管服务。 支持用户持续集成集群。 构建成本低 按照实际占用的资源及
新建项目 为本实践新建项目。 新建CodeArts Repo代码仓 为本实践创建构建过程中使用的代码文件。 新建构建任务 新建本实践中需要使用的构建任务并按照本实践场景配置任务并执行。 查看构建结果 查看本实践的构建结果,包括查看构建日志和结果文件。 新建项目 使用华为云账号登录华为云控制台页面。
repository”,可能是没有权限或者“.gitmodules”文件配置错误。 处理办法 打开主代码仓库,选择“设置 > 子模块设置”,部署密钥没有同步,单击同步按钮,之后再尝试编译构建。 如果步骤1已同步,很可能是主仓库的“.gitmodules”文件配置出错,先检查存在“.gitmodules”文件
构建任务中包含私密参数则无法保存为模板。构建参数设置可参考配置构建任务参数。 在弹框中输入模板名称与模板描述,单击“保存”。 单击页面右上角用户名,在下拉菜单中选择“租户设置”。 单击导航“编译构建 > 自定义模板”,即可在列表中看到已保存的构建模板。 对已保存的构建模板,可以完成以下操作: 表1 管理自定义模板
构建步骤:可修改构建步骤、步骤参数等信息。 参数设置:可配置执行任务时的自定义参数。 执行计划:可配置触发事件(持续集成)和定时执行。 修改历史:可查看构建任务的修改记录。 权限管理:可配置不同角色的权限。 通知:可配置任务事件类型通知信息(包括任务构建成功、失败、删除、配置更新、被禁用)。 根据需要选择
构建任务中有“使用SWR公共镜像”构建步骤时,由于构建所调用的Docker镜像没有设置权限为公开导致报错。 处理办法 进入容器镜像服务,找到构建过程所使用到的镜像,编辑镜像将镜像的类型设置为“公开”,具体操作如下: 登录容器镜像服务。 在左侧导航单击“我的镜像”,然后单击镜像名称进入镜像详情页面,然后单击右上角“编辑”。