华为云编译构建CodeArts Build常见问答汇总
1.【Build】公有云编译构建是否支持导入外部机器做执行机
答:参考链接:https://support.huaweicloud.com/usermanual-devcloud/devcloud_01_0017.html
• 使用代理机功能,需要配备1台4U8G或以上规格、磁盘>80GB的主机。
• 安装代理的主机必须安装JAVA8+、Git和Docker17.06+(页面中提供自动安装,若选择手动安装请使用root帐号执行安装命令)。
• 安装代理的主机必须有公网访问权限,并且开通以下域名的防火墙白名单、暴露相应端口号。
2.【Build】编码构建阶段开始单元测试,如何实施?
答:目前支持使用“Maven构建”构建步骤提供的单元测试功能
参考链接:https://support.huaweicloud.com/usermanual-codeci/codeci_01_0005.html
3.【Build】如何拉取多仓代码进行构建
答:代码仓设置>>子模块设置>>新增子模块(子仓也必须使用repo仓)
构建步骤>>代码下载配置>>勾选子模块自动更新
4.【Build】maven构建如何发布到自建的nexus库?
答:1. POM文件中,配置发布库的信息;
2. 如果是公共执行机,将发布库的settings文件保存到编译构建的“文件管理”中,在Maven构建前,下载到执行机上,保存到代码的根目录;
3. 如果是自定义执行机,手动将发布库的settings文件保存到执行机的指定目录;
4. 在mvn deploy命令中,配置发布库的配置文件;
5.【Build】在编译构建的“Maven构建”步骤中,能否将组件上传到第三方的私仓中?
答:可以上传,使用maven原生命令的方式进行操作。
首先需要在代码仓的pom.xml文件中,设置要上传的私仓信息。
并且如果私仓需要权限验证的话,同时要把settings.xml文件传到代码仓,settings文件里面需要有连接私仓的用户名、密码等信息。
然后在“Maven构建”的命令中,指定要使用的settings文件,即可将组件上传到任意的私仓。
6.【Build】NPM构建失败,使用华为公共npm源,报公共的npm组件找不到,如何解决?
答:项目使用组件最新版本,但华为公共npm镜像仓库未更新该组件。
华为公共npm仓库:https://mirrors.huaweicloud.com/repository/npm/ ,将组件名称拼接在后面,粘贴到浏览器地址栏,回车,查询组件信息,看组件版本是否有所使用的版本,例如:
https://mirrors.huaweicloud.com/repository/npm/@babel/helper-compilation-targets
7.【Build】CodeArts是否支持苹果iOS软件类型构建
答:构建服务只支持自定义执行机接入mac机器进行iOS编译打包
8.【Build】如何实现Codearts结合Kubernetes部署参数化
答:对构建任务,部署任务和流水线任务进行参数化即可实现,
具体可参考文档:https://bbs.huaweicloud.com/forum/thread-185272-1-1.html
9.【Build】构建任务jdk11构建时报‘’with anonymous inner classes is not supported in -source 8
答:在代码pom文件中指定jdk11
10.【Build】npm构建下载依赖失败,构建命令指定了registry不生效
答:确认代码仓里是否有.npmrc文件,此文件里指定了registry,更改.npmrc文件的registry地址后生效
11.【Build】编译构建报错 file not exist时,如何排查?
答:默认编译环境为封闭状态,无法远程登录上环境排查,建议用户在报错步骤前,增加shell执行步骤,通过ls命令排查对应文件是否存在。
12.【Build】在编译构建里代码检出成功,但是在自建执行机里面没有找到代码文件/opt/agent_1693967746275/workspace
答:使用自定义执行机的方式执行编译构建任务,执行完后执行机上下载的代码会被清理掉;如果需要查看下载后的文件目录结构,建议在下载代码后增加一个shell插件,使用sleep命令暂停后再去登录执行机查看。
13.【Build】构建任务报错,ERROR:Error cloning remote repo ""origin"",Caused by:hudson.plugins.git.GitEexceprion
答:在代码仓库中确认此分支是否已被删除,已删除的分支无法拉取代码导致构建任务失败,重新选择正确的分支进行构建
14.【Build】编译构建可以推送到其他用户镜像仓库吗?
答:可以,使用服务扩展点的方式接入其他用户镜像仓库,编译构建的时候选择其他用户。
15.【Build】编译构建“使用SWR公共镜像”报错:Error response from daemon: Get https://swr.cn-north-4.myhuaweicloud.com/v2/xxx/demo/manifests/v1.1: denied: You may not login
答:从SWR拉取的镜像不是公开镜像,需要进入SWR镜像仓进行设置,参考:https://support.huaweicloud.com/usermanual-codeci/codeci_ug_00142.html
16.【Build】构建结果上传到制品仓时,目录结构发生变化。
答:仅支持上传单个文件、多个文件;不支持上传文件夹、自动创建路径。
例如,“a”目录下有“aa”文件和“b”目录,“b”目录下有“bb”文件,构建包路径配置为“a/**”。
即递归扫描“a”目录下所有文件,两个文件是同一个目录下,“aa”、“bb”两个文件将会上传到同一个目录下,系统不会在软件发布库里自动创建“b”目录。
17.【Build】构建任务执行失败,日志提示“对应的服务扩展点不存在
答: 服务扩展点被客户清理,构建任务如果关联了该服务扩展点,则执行时会报错。
点击设置 > 通用设置 > 服务扩展点管理》新建通用Git服务扩展点
返回执行失败的构建任务,编辑该任务,在“源码选择”页签重新关联新建的通用Git服务扩展。
重新执行构建任务
18.【Build】编译构建任务制作镜像并推送到SWR仓库如何保留多个版本的镜像?
答:在编译构建任务新增自定参数image_version,并开启运行时,然后在“制作镜像并推送到SWR仓库”步骤的“镜像标签”填写${image_version}来引用该字段,启动时传入版本号,此时执行完后镜像仓会保存多个版本的镜像
19.【Build】构建如何实现版本号自增长?
答:使用系统预定义参数INCREASENUM
20.【Build】同一台机器是否可以设置多个代理
答:经过测试,只要对接的代理名称和路径不冲突,同一台机器支持接入多个代理。
体验通道:编译构建CodeArts Build_多语言构建平台_高效云端开发_华为云