检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
执行构建时找不到必须的项目文件 问题现象 使用Maven等工具构建时,通常会依赖特定的构建文件,如:pom.xml文件等。如果工具找不到相应的构建文件,则会失败并报“xxx工程找不到xxx文件”此类错误,常见的错误信息如下: 工具 构建文件 错误信息 Maven pom.xml The
restore. 原因分析 由于当前路径下存在多个sln文件或者不存在项目定义文件,造成构建失败。 处理方法 若当前路径存在多个sln文件请指定需要构建的sln文件,如msbuild demo.sln。 若当前路径不存在sln文件,请用cd命令定位到sln所在路径,如cd src。 父主题:
Build本身一些系统限制,少数场景下可能会导致构建失败。使用前建议仔细阅读以下规格说明。 不支持带空格的文件路径 C#项目中目录或文件名中包含空格会导致构建失败,目录/文件的命名请使用字母、数字、下划线的组合,勿使用其他特殊字符,避免不必要的构建失败。 文件全路径长度不得超过260个字符
制。 仅支持上传单个文件、多个文件,不支持上传文件夹、自动创建路径。 例如:“a”目录下有“aa”文件和“b”目录,“b”目录下有“bb”文件,构建包路径配置为“a/**”。 即递归扫描“a”目录下所有文件,两个文件是同一个目录下,“aa”、“bb”两个文件将会上传到同一个目录下
成功拉取代码以后,构建过程中, 提示无法拷贝***文件,文件路径长度超过260字符。 原因分析 Windows系统中,文件全路径的最大长度限制为260字符,超过此长度会导致Msbuild构建失败,项目中引用了路径过长的文件,导致Msbuild执行copy命令时,无法拷贝路径过长的文件,导致构建失败。 处理方法
代码缓存下载。本地没有缓存的情况下,从服务器下载缓存代码到本地;有缓存的情况下,使用本地缓存并还原目录结构。 代码缓存更新。代码检出有变化时,会增量扫描目录树,缓存差异文件和目录树,加速下次构建缓存效率。 效果示例 在缓存盘有缓存的情况下,200万个文件(190G)还原时间在2到3分
cloudbuild”目录下依次单击“新建 > 新建文件”,文件命名为“build.yml”,新建后文件目录如图1所示。 图1 文件目录 若YAML文件不存放在“.cloudbuild”目录,可通过“CB_BUILD_YAML_PATH”参数指定YAML文件在代码仓中的路径。参数配置可参考添加自定义参数的配置指导。
即可。单击“确定”,代码仓创建完成,跳转到代码仓详情页面。 在代码仓根目依次单击“新建 > 新建文件”。 图1 新建文件 文件名命名为“Dockerfile”,复制如下代码,粘贴到文件内容,单击“提交”。 # 使用官方的 ubuntu 作为基础镜像 FROM ubuntu:latest
”,字符长度范围为1~100。 提交信息 目录的备注信息,用于记录该文件夹文件的描述信息。字符长度范围1~2000。 单击2中新建的目录名称。 单击“新建 > 新建文件”,如图2所示。 图2 新建文件 文件命名为“build.yml”,并将如下代码拷贝到文件中。 # This YAML is the default
建环境。 处理办法 Maven插件exec-maven-plugin实现混合编译,首先配置插件,其次配置npm环境,最后执行构建。 pom文件配置。 每条npm命令都是<executions>标签中的一个<execution>,不建议配置代理和私有的npm镜像仓,而是使用华为开源镜像站,其配置如下:
system:系统依赖范围必须通过systemPath指定依赖文件位置,且依赖文件必须存在于指定目录。 使用GAV模式上传依赖包 在私有依赖仓库上传自研依赖包A时,如果选择GAV模式,只需要上传jar文件,系统会自动生成对应的pom文件;但是,此pom文件中只包含此依赖本身的坐标定义,原来的<dependencies>节点则会全部丢失。
说明 构建环境主机类型 X86服务器、鲲鹏(ARM)服务器。 说明: 在不同芯片架构上运行的软件,需要选择对应的环境主机。如软件最终在鲲鹏服务器上运行,则选择鲲鹏服务器。 执行主机 选择用来执行编译构建任务的计算资源。在编译构建服务中,该计算资源为虚拟机。执行主机包括内置执行机和自定义执行机。
如上异常报LodopFuncs.js文件中函数未声明is not defined,可先排查文件;文件正常则可能是不符合eslint规范导致报错。 处理方法 检查LodopFuncs.js文件中getCLodop函数是否已定义。 如果文件正常,可以在eslint检查不通过的文件头部添加如下命令行忽略eslint的检查。
失败后是否继续运行 当前步骤执行失败后是否继续执行下一个步骤,根据实际使用场景选择是或否。 代码化构建 参考以下代码示例,修改在创建代码化构建使用的YAML文件中的BUILD部分代码信息。 1 2 3 4 5 6 7 8 9 10 11 12 13 version: 2.0 # 必须是2
编译构建服务支持通过yaml文件配置构建脚本,用户可以将构建时需要配置的构建环境、构建参数、构建命令、构建步骤等操作,通过yaml语法编写成build.yml文件实现,并且将build.yml文件和被构建的代码一起存储到代码仓库。执行构建任务时,系统会以build.yml文件作为构建脚本执行
WebContent 下的 classes --> <mkdir dir="${webcontent.webinf.classes.dir}" /> </target> 编译 java 文件,使用<javac>标签将java文件编译到“dist.classes”下,编译步骤依赖于init步骤创建的classes目录。
-OutFile dotnet2.0.0.zip; 解压到当前路径下。 powershell -Command Expand-Archive dotnet2.0.0.zip; 复制sdk目录到“${Env:ProgramFiles}\dotnet\sdk”下。 powershell -Command
directory 原因分析 ADD指令的源文件为“./temp”,而当前工作目录下没有temp文件。 处理方法 假设当前目录的结构如下: + target - temp - Dockerfile target目录下有temp文件,而Dockerfile文件和target同级。 方法一:将ADD指令的源文件改为“
未定义”。 原因分析 由于解决方案中存在多个csproj文件,生成时使用默认构建命令指定OutputPath=../buildResult/Release/bin会造成所有的csproj生成时在一个文件夹中,造成obj文件等发生链接冲突。 处理方法 在构建命令中删除“OutputPath=
执行Npm构建时,报错提示Unexpected end of JSON ... 问题现象 执行npm install时,提示异常信息如下: 原因分析 解析文件中的json字符串失败,有可能从镜像仓下载的文件不完整。 处理方法 修改Npm镜像仓,在Npm构建步骤里,添加如下命令: 1 npm config set registry