检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
基于Maven构建产物制作Docker镜像并发布到镜像仓(内置执行机/图形化构建) 应用场景 本实践为您介绍如何使用CodeArts Build将构建产物通过Dockerfile文件制作成Docker镜像,并发布到容器镜像服务的镜像仓库,您可以使用容器镜像中的构建产物进行编译或者部署。
执行命令,每个命令一行。支持的docker命令可参考编译构建支持的Docker命令。 编译构建支持的Docker命令 docker login:登录docker仓库。 用法:docker login [options] [server] options填写方法如下表,server为docker仓库地址。
构建任务中有“使用SWR公共镜像”构建步骤时,由于构建所调用的Docker镜像没有设置权限为公开导致报错。 处理办法 进入容器镜像服务,找到构建过程所使用到的镜像,编辑镜像将镜像的类型设置为“公开”,具体操作如下: 登录容器镜像服务。 在左侧导航单击“我的镜像”,然后单击镜像名称进入镜像详情页面,然后单击右上角“编辑”。
如何使用jib-maven-plugin插件构建Maven工程制作镜像 问题现象 由于CodeArts官方提供的maven镜像中没有docker环境,所以,使用docker-maven-plugin插件构建的项目通过CodeArts的编译构建制作镜像时会报错,比如: INFO: I/O exception
COPY或者ADD指令找不到文件 问题现象 构建任务中有“制作镜像并推送SWR”或“执行Docker命令”构建步骤,执行任务时日志报如下异常信息: ADD failed: stat /var/lib/docker/tmp/docker-builder154037010/temp: no such file
”或“-”开头,字符长度为1~128。 工作目录 可选参数。 填写docker build命令中的“上下文路径”参数,该路径是代码仓库根目录的相对路径。 上下文路径,指的是docker在构建镜像时,docker build命令将该路径下的所有内容打包给容器引擎,帮助构建镜像。 Dockerfile路径
执行Maven构建时,多个子项目和父项目之间引用报错 问题现象 Maven构建任务,pom文件存在多个子项目和父项目之间的引用,在执行任务时,日志报如下异常信息: [ERROR] Project 'xxx.xxx:xxx1:1.0-SNAPSHOT' is duplicated in
or packages.config file to restore. 原因分析 由于当前路径下存在多个sln文件或者不存在项目定义文件,造成构建失败。 处理方法 若当前路径存在多个sln文件请指定需要构建的sln文件,如msbuild demo.sln。 若当前路径不存在sln文
pose”下所有以“deployment”结尾的文件中的参数“docker-server”、“docker-org”,替换为构建任务的参数“dockerServer”、“dockerOrg”。 使用sed命令,将代码仓库中“result-deployment.yaml”、“vote-deployment
仓库包。 LINUX_DOCKER 执行构建任务时,编译构建服务将拉起一个Linux Docker容器,构建任务在容器中执行。 整个构建过程在容器中运行,运行后容器会自动清理构建镜像,包括构建过程中拉取的代码、过程数据、构建产物等。 支持用户宿主机目录与容器目录映射,即可在镜像内共享宿主机目录。
errorMessage: DEV.CB.0210044, Docker push failed 分析处理 此错误表示当前用户对目标组织没有权限,请逐步排查以下可能的原因: 编辑构建任务,单击“制作镜像并推送到SWR仓库”构建步骤,查看组织名。 登录容器镜像服务,在组织管理里查看组织是否存在。 组
“Dockerfile”文件为制作容器镜像环境的主体,文件中定义了如下内容。 表2 Dockerfile文件指令说明 指令 说明 FROM 指定基础镜像,必须为第一个命令。当前案例指定基础镜像为官方的最新ubuntu镜像。 LABEL 用于为镜像添加元数据。 RUN 构建镜像docker build时
像设置为“公开”。 登录容器镜像服务。 在导航栏单击“我的镜像”,单击“镜像名称”进入镜像详情页面,然后单击右上角“编辑”。 在弹框中,将“类型”设置为“公开”,单击“确定”。 图1 编辑镜像 获取完整的镜像地址:单击复制镜像下载指令,其中,docker pull后面部分为镜像地址。
说明 基于Maven构建产物制作Docker镜像并发布到镜像仓(内置执行机/图形化构建) 本实践为您介绍如何使用CodeArts Build将构建产物通过Dockerfile文件制作成Docker镜像,并发布到容器镜像服务的镜像仓库,您可以使用容器镜像中的构建产物进行编译或者部署。
管理构建任务生命周期 04 实践 介绍不同类型的构建案例,满足您的业务所需。 最佳实践 使用Maven构建包制作Docker镜像 使用Node.js构建包制作Docker镜像 常见问题 了解更多常见问题、案例和解决方案 公共问题 执行构建任务时,能否指定在某一台/一种配置的服务器上运行?
资源池名称 资源池的名称,根据需要自定义。例如:custom_pool。 资源池类型 选择LINUX_DOCKER。执行任务时将拉起一个Linux docker容器,任务在容器中运行。 资源池描述 根据需要输入资源池描述。可不填写。 资源池可以被租户下所有子用户使用 勾选后,此资
执行构建任务/工程 查看构建结果 管理构建任务/工程 配置构建环境和镜像 编译构建服务提供容器化的构建环境,支持两类容器镜像: 系统镜像:编译构建服务默认内置的支持业界主流编程语言编译和打包的构建镜像。 自定义镜像:支持容器镜像服务SWR,用户可通过定制符合自身应用的镜像来实现混合语言编译和打包。
type: docker arch: X86 class: 8U16G pool: Mydocker envs: - condition: machineArch == 'ARM' resource: type: docker
本实践需要依赖使用的其他服务如下: SWR,即容器镜像服务。SWR镜像仓库用于存储用户上传的Docker镜像,可以在构建、部署或其他场景使用。 代码托管服务,用于存储实践中项目所使用的代码。 制品仓库服务,用于存储实践中使用的私有依赖包。 约束限制 已在容器镜像服务中创建组织,组织名称为“codeci_gray”。
构建) 使用编译构建服务完成Maven构建,使用构建包制作Docker镜像并推送到SWR仓库。 代码化构建 实践 描述 使用Maven构建执行多任务构建工程(内置执行机,预置镜像,代码化构建) 使用BuildFlow将多个存在依赖关系的构建任务按照有向无环图(DAG)的方式组装起