检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
执行命令,每个命令一行。支持的docker命令可参考编译构建支持的Docker命令。 编译构建支持的Docker命令 docker login:登录docker仓库。 用法:docker login [options] [server] options填写方法如下表,server为docker仓库地址。
基于Maven构建产物制作Docker镜像并发布到镜像仓(内置执行机/图形化构建) 应用场景 本实践为您介绍如何使用CodeArts Build将构建产物通过Dockerfile文件制作成Docker镜像,并发布到容器镜像服务的镜像仓库,您可以使用容器镜像中的构建产物进行编译或者部署。
到发布库。 使用tar镜像。 通过执行脚本或下载命令从发布库中将tar文件下载到要部署应用的服务器上,执行docker load命令将tar文件的镜像加载到本地镜像仓库,再使用docker run等命令启动镜像即可。 父主题: Maven构建
COPY或者ADD指令找不到文件 问题现象 构建任务中有“制作镜像并推送SWR”或“执行Docker命令”构建步骤,执行任务时日志报如下异常信息: ADD failed: stat /var/lib/docker/tmp/docker-builder154037010/temp: no such file
CodeArts Build预置了“构建环境配置”步骤,参考表2配置参数。 表2 构建环境配置参数说明 参数 说明 构建环境主机类型 X86服务器、鲲鹏(ARM)服务器。 说明: 在不同芯片架构上运行的软件,需要选择对应的环境主机。如软件最终在鲲鹏服务器上运行,则选择鲲鹏服务器。 执行主机 选择
单击“新建代理”,在弹出的窗口中,参考表3配置代理信息,其他参数项保持默认即可。 表3 新建代理参数说明 参数 说明 是否安装Docker 勾选此项,配需安装Docker。 自动安装Docker 打开开关,自动安装Docker。 AK 参考获取AK/SK获取。 SK 参考获取AK/SK获取。 代理名称 自定义代理名
0210044, Docker push failed 分析处理 推送镜像时,如果使用未被任何用户占用的全新组织名,SWR服务会尝试为当前租户创建该组织;由于SWR服务限制了每个租户可创建的组织数,如果超过此限制,则会出现该错误。 出现此错误时,使用管理员账号(或任何有SWR组织管理
最佳实践 使用Maven构建包制作Docker镜像 使用Node.js构建包制作Docker镜像 常见问题 了解更多常见问题、案例和解决方案 公共问题 执行构建任务时,能否指定在某一台/一种配置的服务器上运行? 执行构建任务时,能否指定在某一台/一种配置的服务器上运行? 构建时拉取dockerhub镜像超时/次数限制
pose”下所有以“deployment”结尾的文件中的参数“docker-server”、“docker-org”,替换为构建任务的参数“dockerServer”、“dockerOrg”。 使用sed命令,将代码仓库中“result-deployment.yaml”、“vote-deployment
库”。 单击“管理IAM账号”。 单击“新建扩展服务点”,选择“IAM账户”。 在弹出的窗口中填写参数信息。 Access Key Id和Secret Access Key获取方式如下: 单击页面左上角“控制台”。 单击页面右上角账号名称,选择“我的凭证”。 单击“访问密钥”。
1: denied: You may not login yet 原因分析 构建任务中有“使用SWR公共镜像”构建步骤时,由于构建所调用的Docker镜像没有设置权限为公开导致报错。 处理办法 进入容器镜像服务,找到构建过程所使用到的镜像,编辑镜像将镜像的类型设置为“公开”,具体操作如下:
文冒号、“.”、“/”、圆括号(中英文)。 字符长度范围为1~128。 工具版本 选择使用的Docker版本,使用默认版本即可。 当前编译构建服务支持Docker18.03和Docker20.10版本。 镜像仓库 选择需要推送的镜像仓库。支持推送至华为云镜像仓库SWR和其他镜像仓库,根据实际情况选择即可。
type: docker arch: X86 class: 8U16G pool: Mydocker envs: - condition: machineArch == 'ARM' resource: type: docker
执行构建任务时,能否指定在某一台/一种配置的服务器上运行? 使用内置执行机时无法指定。目前编译构建服务采取空闲服务器随机分配的方式,暂不支持指定特定机器执行构建任务。 使用自定义执行机时可实现,即,自定义资源池,且该资源池中只有一台执行机。 自定义执行机的指导可参考新建CodeArts资源池。
env: # 如果配置,则优先级最高。即在此处定义了主机规格与类型,则不使用构建环境配置中选择的主机类型和规格 resource: type:docker # 资源池类型:docker或custom,其中docker表示使用默认执行机,custom表示使用自定义执行机
使用编译构建服务完成Maven构建,使用构建包制作Docker镜像并推送到SWR仓库。 代码化构建 实践 描述 使用Maven构建执行多任务构建工程(内置执行机,预置镜像,代码化构建) 使用BuildFlow将多个存在依赖关系的构建任务按照有向无环图(DAG)的方式组装起来,Build
使用Sbt构建 使用Grails构建 使用Bazel构建 使用Flutter构建 使用HarmonyOS构建 使用构建方舟编译器构建 通过Docker命令操作镜像 生成单元测试报告 自定义构建环境 使用自定义环境构建 下载软件发布库中的软件包 上传软件包到软件发布库 上传文件到OBS
Build最佳实践汇总 本文汇总了基于编译构建服务(CodeArts Build)常见应用场景的操作实践,为每个实践提供详细的方案描述和操作指导,帮助用户轻松构建。 表1 CodeArts Build最佳实践一览表 最佳实践 说明 基于Maven构建产物制作Docker镜像并发布到镜像仓(内置执行机/图形化构建)
定义Job2在构建过程中需要运行的yaml构建脚本 “build.yml”定义了整个构建的流程,当前定义了3个构建任务,Job3依赖于Job1和Job2,即构建优先级Job1、Job2 > Job3,且Job1和Job2优先级相同会同步触发。“build_ref”定义了构建子任务所需运行的构建脚本。 新建build
sh,内容见build.sh样例 # 构建阶段:依照加速级别调用加速命令(BuildAccelerateL1 BuildAccelerateL3)的AOSP模式(-AOSP)直接执行构建,此处样例取值BuildAccelerateL3 -AOSP # 后处理阶段:以实际工程需要为准,该示例仅使用post_build