检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
使用编译构建服务的Cmake构建并上传软件包至软件发布库(ARM,预置镜像,图形化构建) 本节以Cmake构建为例,介绍如何使用编译构建服务的鲲鹏环境构建项目,并上传软件包到软件发布仓库。 “鲲鹏(ARM)服务器”目前只有华北-北京四区域支持。
通过编译构建服务完成Ant构建并上传软件包至软件发布库(X86,预置镜像,图形化构建) 本节以Ant构建为例,为您介绍如何快速使用X86服务器,并以图形化构建的方式构建项目和上传软件包至软件发布库。 前提条件 已注册华为云并实名认证,如果还没有华为账号,请参考以下步骤创建。
问题现象 执行npm install时,提示异常信息如下: 原因分析 解析文件中的json字符串失败,有可能从镜像仓下载的文件不完整。
图5 构建任务执行日志 待构建任务成功执行完成后,跳转到“容器镜像服务”控制台页面,单击“我的镜像”,单击“自有镜像”页签,单击5中制作的镜像名称“custom_ubuntu_image”,跳转到镜像详情页面。
基础镜像 编译构建使用centos7和ubuntu18作为基础镜像,并提供多种构建常用的配置环境工具,用户可以根据需要配置自定义构建环境。 内置环境工具如下: jdk 1.8、maven、git、ant、zip、unzip、gcc、cmake、make。
最佳实践 使用Maven构建包制作Docker镜像 使用Node.js构建包制作Docker镜像 常见问题 了解更多常见问题、案例和解决方案 公共问题 执行构建任务时,能否指定在某一台/一种配置的服务器上运行? 执行构建任务时,能否指定在某一台/一种配置的服务器上运行?
自定义镜像:支持容器镜像服务SWR,用户可通过定制符合自身应用的镜像来实现混合语言编译和打包。 构建环境管理 构建服务支持用户接入自定义Jenkins资源。 构建服务支持用户手动新建资源池和代理,执行脚本,若不自定义执行机则默认使用公共执行资源池。
原因分析 由于项目指定了特定版本的.NET Core SDK,不使用镜像预装的兼容的.NET 2.1.402版本SDK,造成没有指定版本的SDK,无法进行构建。 处理方法 下载对应版本的SDK(例:2.0.0,其他版本请直接替换命令中的2.0.0)。
表1 CodeArts Build最佳实践一览表 最佳实践 说明 基于Maven构建产物制作Docker镜像并发布到镜像仓(内置执行机/图形化构建) 本实践为您介绍如何使用CodeArts Build将构建产物通过Dockerfile文件制作成Docker镜像,并发布到容器镜像服务的镜像仓库
图形化构建 实践 描述 使用Maven构建自定义镜像(预置执行机,图形化构建) 使用编译构建服务完成Maven构建,使用构建包制作Docker镜像并推送到SWR仓库。
原因分析 Maven构建步骤默认生成的settings配置文件中,Maven镜像仓库地址为公网地址,导致部分Maven组件依赖下载时会优先从公网下载,公网访问超时,然后再从私有库下载,从而导致Maven组件下载缓慢。 处理方法 方法一:(推荐) 访问服务首页。
容器化构建 编译构建服务提供容器化的构建环境,支持两类容器镜像: 系统镜像:编译构建服务默认内置的支持业界主流编程语言编译和打包的构建镜像。 自定义镜像:支持容器镜像服务SWR,用户可通过定制符合自身应用的镜像来实现混合语言编译和打包。
检查所使用的镜像源站上是否存在该版本的依赖。 父主题: Npm构建
替换Kubernetes部署文件镜像版本 为了将镜像部署到CCE时,能够可以拉取到正确的镜像,使用shell命令进行完成以下操作。
原因分析 node-sass的镜像源需要单独设置,如果没有设置,npm默认会去github下载。从软件开发生产线到github的网络不太稳定,容易下载失败。 处理方法 在默认命令npm install之前先加上如下命令,选择使用华为云的mirror源,重新执行构建即可。
Msbuild构建场景 表1 已支持的场景 场景类型 说明 无外部依赖 参考镜像版本及对应工具版本,对于仅使用了环境预装依赖库的项目,选择合适的镜像版本即可直接使用msbuild或.NET命令进行构建。
SWR 03:45 自定义Maven镜像并推送至SWR 编译构建 CodeArts Build 介绍如何代码化NPM构建 04:46 代码化NPM构建 编译构建 CodeArts Build 介绍如何上传软件包至软件发布库 02:11 上传软件包至软件发布库
执行构建时拉取子模块代码出错 问题现象 执行构建任务时,报如下异常信息: 原因分析 Git从CodeArts Repo拉取子模块时出现错误“Could not read from remote repository”,可能是没有权限或者“.gitmodules”文件配置错误。
参考加速前准备章节制作docker镜像。
cloudbuild@nodejs8.11.2:以cloudbuild开始,@作为分隔符,后面是CodeArts Build提供的默认镜像版本。