检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Msbuild-all镜像暂时不兼容此镜像)。
每条npm命令都是<executions>标签中的一个<execution>,不建议配置代理和私有的npm镜像仓,而是使用华为开源镜像站,其配置如下: <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId
Npm构建耗时且安装依赖缓慢 原因分析 默认的镜像仓地址因网络原因可能导致网络下行效率低。 处理方法 进入编译构建服务首页。 选择对应的构建任务,单击任务所在行的,单击“编辑”。 在“构建步骤”页面编辑“NPM构建”。
自定义构建环境前的准备工作 已在容器镜像服务创建组织。组织的约束与限制参考容器镜像服务的约束与限制。 如果您制作后的镜像需要推送至华为云其他用户的SWR中,需新建IAM账户服务扩展点。
问题现象 执行npm install时,提示异常信息如下: 原因分析 解析文件中的json字符串失败,有可能从镜像仓下载的文件不完整。
基础镜像 编译构建使用centos7和ubuntu18作为基础镜像,并提供多种构建常用的配置环境工具,用户可以根据需要配置自定义构建环境。 内置环境工具如下: jdk 1.8、maven、git、ant、zip、unzip、gcc、cmake、make。
整个构建过程在容器中运行,运行后容器会自动清理构建镜像,包括构建过程中拉取的代码、过程数据、构建产物等。 支持用户宿主机目录与容器目录映射,即可在镜像内共享宿主机目录。 除MSBuild构建步骤外,支持所有构建步骤,无需自行安装构建环境。
检查所使用的镜像源站上是否存在该版本的依赖。 父主题: Npm构建
Msbuild构建场景 表1 已支持的场景 场景类型 说明 无外部依赖 参考镜像版本及对应工具版本,对于仅使用了环境预装依赖库的项目,选择合适的镜像版本即可直接使用msbuild或.NET命令进行构建。
在镜像详情页面单击“编辑”,在弹出的窗口中“类型”设置为“公开”,单击“确定”。 图6 镜像详情 在“下载指令”列,复制docker pull后面的完整镜像名称“swr.
原因分析 node-sass的镜像源需要单独设置,如果没有设置,npm默认会去github下载。从软件开发生产线到github的网络不太稳定,容易下载失败。 处理方法 在默认命令npm install之前先加上如下命令,选择使用华为云的mirror源,重新执行构建即可。
原因分析 由于项目指定了特定版本的.NET Core SDK,不使用镜像预装的兼容的.NET 2.1.402版本SDK,造成没有指定版本的SDK,无法进行构建。 处理方法 下载对应版本的SDK(例:2.0.0,其他版本请直接替换命令中的2.0.0)。
原因分析 Maven构建步骤默认生成的settings配置文件中,Maven镜像仓库地址为公网地址,导致部分Maven组件依赖下载时会优先从公网下载,公网访问超时,然后再从私有库下载,从而导致Maven组件下载缓慢。 处理方法 方法一:(推荐) 访问服务首页。
自定义镜像:支持容器镜像服务SWR,用户可通过定制符合自身应用的镜像来实现混合语言编译和打包。 构建环境管理 构建服务支持用户接入自定义Jenkins资源。 构建服务支持用户手动新建资源池和代理,执行脚本,若不自定义执行机则默认使用公共执行资源池。
制作Worker镜像并推送到SWR仓库 依据代码仓库中的“worker/Dockerfile”文件制作并推送Worker功能镜像,并将镜像推送到容器镜像服务。
最佳实践 使用Maven构建包制作Docker镜像 使用Node.js构建包制作Docker镜像 常见问题 了解更多常见问题、案例和解决方案 公共问题 执行构建任务时,能否指定在某一台/一种配置的服务器上运行? 执行构建任务时,能否指定在某一台/一种配置的服务器上运行?
6 7 version: 2.0 # 必须是2.0 steps: BUILD: - gnu_arm: inputs: command: make ignore_fail: true 表2 代码示例参数说明 参数 类型
容器化构建 编译构建服务提供容器化的构建环境,支持两类容器镜像: 系统镜像:编译构建服务默认内置的支持业界主流编程语言编译和打包的构建镜像。 自定义镜像:支持容器镜像服务SWR,用户可通过定制符合自身应用的镜像来实现混合语言编译和打包。
说明 image string 填写镜像地址,有以下两种格式。
图形化构建 实践 描述 使用Maven构建自定义镜像(预置执行机,图形化构建) 使用编译构建服务完成Maven构建,使用构建包制作Docker镜像并推送到SWR仓库。