检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
本实践案例为您演示依赖包的发布和下载引用两个环节,共涉及2个Maven构建工程,1个私有依赖库。
执行Maven构建时,提示未开通私有依赖仓 问题现象 异常信息为:may be you have not init release repository。 原因分析 没有开通私有依赖仓。
新建私有依赖库 选择导航栏“制品仓库 > 私有依赖库”。 单击“新建”,按照如下表格配置参数。 表2 新建私有依赖库参数说明 参数 说明 仓库类型 选择“本地仓”。 仓库名称 自定义仓库名称,例如“private_repository”。 制品类型 选择“Maven”。
名称:自定义构建任务名称,例如“maven_private_repository_task”。 代码源:选择本次构建拉取的代码源,这里选择“Repo”。
将镜像设置为“公开” 由于CodeArts Build无法拉取您在SWR私有仓中的镜像,因此,需要先将镜像设置为“公开”。 登录容器镜像服务。 在导航栏单击“我的镜像”,单击“镜像名称”进入镜像详情页面,然后单击右上角“编辑”。
使用Maven构建实现私有依赖包的上传及下载引用(内置执行机/图形化构建) 本实践案例将为您介绍,如何在CodeArts Build构建工程中引用私有依赖仓中的二方或三方依赖包,实现应用的编译构建。
当前案例指定基础镜像为官方的最新ubuntu镜像。 RUN 构建镜像docker build时执行的命令。当前案例安装了三个工具:wget、jdk17、maven 3.9.8。并在设置了环境变量后,执行了jdk、maven对应的版本命令,确认jdk、maven是否正常安装。
下载适合您系统的Git安装程序,当前案例单击“64-bit Git for Windows Setup”,下载到本地。 双击下载的可执行文件“Git-2.46.2-64-bit”。
发布依赖包到CodeArts私有依赖库 编译构建服务默认使用私有依赖库作为私有依赖下载源,如果需要将构建产物上传至私有依赖库供其他项目依赖使用,则需要添加此配置。配置前,需已创建私有依赖库。配置方法如下: 不配置pom:表示无需发布私有依赖包到CodeArts私有依赖库。
拉取的镜像为私有镜像。 处理方法 网络异常导致,可以通过以下方法处理: 重试确认是否能解决,如果拉取失败的镜像是dockerHub镜像且重试无法解决,可参考拉取dockerHub镜像超时或失败。 如频繁出现或重试仍然失败请联系客服。
处理方法 配置“Maven构建”构建步骤,展开“发布依赖包到CodeArts私有依赖库”,选择“配置所有pom”。 不配置pom:表示无需发布私有依赖包到CodeArts私有依赖库。
区域(Region) 从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region。 通用Region指面向公共租户提供通用云服务的Region。
最佳实践 使用Maven构建包制作Docker镜像 使用Node.js构建包制作Docker镜像 常见问题 了解更多常见问题、案例和解决方案 公共问题 执行构建任务时,能否指定在某一台/一种配置的服务器上运行? 执行构建任务时,能否指定在某一台/一种配置的服务器上运行?
制品仓库服务,用于存储实践中使用的私有依赖包。 约束限制 需已具备CodeArts Artifact服务的操作权限,具体操作可参考授权使用CodeArts Artifact服务。
自研(手动上传到Maven私有仓库)的依赖包,按如下步骤排查: 从Maven私有依赖仓库下载依赖包。 解压缩并查看依赖包内容是否正常。
每条npm命令都是<executions>标签中的一个<execution>,不建议配置代理和私有的npm镜像仓,而是使用华为开源镜像站,其配置如下: <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId
缓存清理步骤 由于网络抖动、并发构建或其他极端情况,可能出现缓存内容异常导致构建异常,本章节介绍异常缓存的清理过程。
原因分析 Maven构建步骤默认生成的settings配置文件中,Maven镜像仓库地址为公网地址,导致部分Maven组件依赖下载时会优先从公网下载,公网访问超时,然后再从私有库下载,从而导致Maven组件下载缓慢。 处理方法 方法一:(推荐) 访问服务首页。
Npm构建耗时且安装依赖缓慢 原因分析 默认的镜像仓地址因网络原因可能导致网络下行效率低。 处理方法 进入编译构建服务首页。 选择对应的构建任务,单击任务所在行的,单击“编辑”。 在“构建步骤”页面编辑“NPM构建”。
否 CLOUD_BUILD_REMOTE_CACHE String 用于控制是否从其他执行机获取缓存。 True:是。 为空:否。 否 type String 使用缓存开关。 是 local_path String 代码在构建执行机上存放的相对路径。