检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
本文以“DevOps全流程示例项目”为例,介绍如何在项目中配置构建任务,以及通过代码变更触发自动构建来实现持续集成。 开展实践前,需要完成代码检查。 预置任务简介 样例项目中预置了以下5个构建任务。 表1 预置任务 预置任务 任务说明 phoenix-sample-ci 基本的构建任务。 phoenix-sample-ci-test
执行构建任务时,能否指定在某一台/一种配置的服务器上运行? 使用内置执行机时无法指定。目前编译构建服务采取空闲服务器随机分配的方式,暂不支持指定特定机器执行构建任务。 使用自定义执行机时可实现,即,自定义资源池,且该资源池中只有一台执行机。 自定义执行机的指导可参考新建CodeArts资源池。
执行Maven构建时,多个子项目和父项目之间引用报错 问题现象 Maven构建任务,pom文件存在多个子项目和父项目之间的引用,在执行任务时,日志报如下异常信息: [ERROR] Project 'xxx.xxx:xxx1:1.0-SNAPSHOT' is duplicated in
登录编译构建服务首页。 在列表中选择构建任务,单击任务名称进入“构建历史”页面。 若列表中没有任务,请新建构建任务(图形化构建)。 单击页面右上角,在下拉列表中选择“保存模板”。 构建任务中包含私密参数则无法保存为模板。构建参数设置可参考配置构建任务参数。 在弹框中输入模板名称与模板描述,单击“保存”。
选择“Ant”模板,单击“确定”,完成构建任务创建,自动跳转到配置构建步骤页面。 在“构建步骤”页签,保持默认配置即可,单击“保存”。 执行编译构建任务 单击构建任务名称。 进入构建历史页面,单击“执行”,启动构建任务,在弹出的窗口中单击“确定”。 若出现如图1页面,表示任务执行成功。 图1 任务构建成功 若
使用Android构建时,项目配置的Jcenter()不稳定 问题现象 执行过构建任务日志报错信息如下: Caused by: org.gradle.internal.resource.transport.http.HttpErrorStatusCodeException: Could
该页面展示当前租户创建的所有项目的所有构建任务。 如果以项目入口访问CodeArts Build服务,单击此处的下拉列表,可切换至其它项目。 单击可在下拉列表中访问自定义模板、自定义构建环境、文件管理、构建任务回收站和构建资源池管理。 单击可执行构建任务。 单击可收藏构建任务。 单击可在下拉框中编辑、复制、禁用和删除构建任务。
never called 问题现象 执行Npm构建任务时,日志报如下异常信息: 原因分析 NPM缓存发生异常,需要清理缓存。 处理方法 编辑任务,在命令行npm install命令之前添加命令npm cache clean -f,然后保存任务重新执行。 父主题: Npm构建
对应的扩展点不存在 问题现象 构建任务执行失败,日志提示“对应的服务扩展点不存在”。 原因分析 服务扩展点数据丢失,构建任务如果关联了该服务扩展点,则执行时会报错。 处理方法 重新在服务扩展点页面新建服务扩展点,并将服务扩展点重新关联到构建任务中,以构建任务中的“通用Git”服务扩展点丢失为例。
-sass/.node-gyp' 原因分析 当前目录没有读写权限。 处理办法 编辑任务,在命令行npm install命令之后添加node-sass --unsafe-perm=true,保存任务重新执行。 父主题: Npm构建
from String 依赖子任务ID to String 被依赖的子任务ID 表6 Vertices 参数 参数类型 描述 id String 子任务构建记录ID status String 子任务执行状态 display_name String 子任务名称 build_duration
NPM缓存空间已满,需要清理缓存。 处理方法 进入编译构建服务首页。 选择对应的构建任务,单击任务所在行的,单击“编辑”。 在“构建步骤”页面编辑“NPM构建”。 在命令行npm install命令之前添加命令npm cache clean -f,然后保存任务重新执行。 父主题: Npm构建
依赖关系的构建任务按照有向无环图(DAG)的方式组装起来,BuildFlow将会按照构建的依赖关系并发进行构建。 此场景下,需要编译构建多任务并发执行。构建并发数计算方式示例如下: 构建任务A中包括4个子任务,启动构建任务A,此时任务并发数为4。 父任务(构建任务A)不会占用一个并发。
使用maven deploy命令上传包失败 问题现象 通过执行Maven构建任务上传依赖到私有依赖库时,执行任务时日志报如下异常信息: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2
0210043”,并提示制作Docker镜像失败。 处理方法 进入编译构建服务首页。 选择对应的构建任务,单击任务所在行的,单击“编辑”。 在“构建步骤”页面编辑“制作镜像并推送到SWR仓库”。 单击“管理IAM账号”。 单击“新建扩展服务点”,选择“IAM账户”。 在弹出的窗口中填写参数信息。
缓存目录使用说明 CodeArts Build在部分构建步骤中提供了依赖缓存的能力,能够极大提升用户构建时依赖包的下载效率,进而提升构建效率。用户在执行构建任务时,CodeArts Build在构建任务执行机上以租户维度进行远端缓存目录挂载,构建时直接使用,无需重复下载。当前支持缓存能力的构建步骤表1。
需已具备CodeArts Artifact服务的操作权限,具体操作可参考授权使用CodeArts Artifact服务。 需已具备CodeArts Repo服务的操作权限,具体操作可参考授权使用CodeArts Repo服务。 代码化构建仅支持使用CodeArts Repo中的代码。
快速使用编译构建服务图形化完成Maven构建(ARM,预置镜像) 快速使用编译构建服务图形化完成Maven构建(X86,预置镜像) 快速使用编译构建服务代码化完成Maven构建(X86,预置镜像) 任务管理 新建构建任务 执行构建任务 配置构建任务 管理构建任务生命周期 04 实践
单击“代码化”页签,可查看到导入的构建脚本,如图3所示。 图3 代码化页签 单击“保存并执行”,执行编译构建任务。 查看并验证构建结果 查看上传的软件包。 选择页面导航栏“制品仓库 > 软件发布库”。 在软件发布库查看发布的软件包。软件包所在目录与创建编译构建任务时的任务名称一致,如图4所示。 图4 查看软件包
上传软件包时找不到文件 问题现象 构建任务的“上传软件包到软件发布库”步骤中构建包路径填写错误时,在执行任务时会报错,日志中会出现如下错误信息: [ERROR] [上传软件包到软件发布库:external_nexus_artifact_uploader] : 错误信息: DEV.CB