更新时间:2023-08-01 GMT+08:00
分享

打包并制作、推送镜像

  1. 新建构建任务,其中,源码源选择前提准备中创建的代码仓库“WebServer”,构建模板选择“Maven”,并将任务名称命名为“使用WebServer制作Docker镜像”。

    Maven模板预置了“Maven构建”和“上传软件包到软件发布库”步骤以及配套的默认构建命令,多数场景下,直接使用即可完成构建并将生成的软件包上传到软件发布库。

  2. 删除“上传软件包到软件发布库”构建步骤。

    本例主要介绍将项目打包制作并推动镜像,因此不需要“上传软件包到软件发布库”构建步骤,如需要归档软件包到发布库,也可以选择保留该步骤,构建包默认生成于“./target”目录下,一般会自动生成。

  3. 配置“Maven构建”步骤,确认构建命令、缓存配置正确。

    1. 检查构建命令:模板已给出默认参数配置,此处只需确认参数正确即可。
      • 默认命令要从根目录读取“pom”文件,本例中WebServer项目“pom”文件在根目录,无需修改。
      • WebServer项目要求使用jdk1.8编译、运行,确认工具版本选择“maven3.5.3-jdk8-open”。
      • 本次构建目标为打包,默认命令为“mvn package”,无需调整,默认参数说明可参考Maven构建默认命令含义
    2. 检查缓存配置:
      • 编译构建提供了构建缓存加速功能,用户可通过缓存配置选择是否使用缓存。
      • 由于网络抖动、并发构建或其他极端情况,可能出现缓存内容异常导致构建异常,此时需要参考缓存清理步骤清理缓存。
        编译构建会自动配置华为开源镜像站作为开源依赖源,在使用编译构建时可自动下载,无需任何额外配置,开源镜像站已代理或同步的镜像源有:
        • Maven2: https://repo1.maven.org/maven2/
        • Jboss: https://repository.jboss.org/nexus/content/repositories/releases/
        • Jcenter:https://mvnrepository.com/repos/jcenter
        • Grails-core: https://repo.grails.org/grails/core/
        • Grails-plugins: https://repo.grails.org/grails/plugins/
        • Spring-release: https://repo.spring.io/libs-release/
        • Spring-plugins:https://repo.spring.io/plugins-release/

  4. 配置非CodeArts提供的公有依赖仓。

    本例中假设WebServer引用了来自第三方仓库“https://test.repo.com/”的依赖lib.jar,需要在“Maven构建”中配置。

    配置如下:

    要使用此类仓库,该仓库必须满足以下条件:

    • 仓库地址在公网(大陆)可直接访问。
    • 依赖下载无需身份认证信息。

  5. 配置私有依赖库。

    在之前上传了WebUtil项目的构建包util-1.0.jar到私有依赖库,本例以该依赖为例,在“使用WebServer制作Docker镜像WebServer”任务中描述如何配置使用私有依赖库中的依赖。

    1. 编辑本地代码目录WebServer中的“pom.xml”文件,在<dependencies></dependencies>中添加“util-1.0.jar”依赖。
      <dependency>
          <groupId>com.xx.demo</groupId>
          <artifactId>util</artifactId>
          <version>1.0</version>
      </dependency>
    2. 保存“pom.xml”后重新上传到“WebServer”代码仓库中。
    3. 在“Maven构建”步骤中选择前提准备中已创建的私有依赖库扩展点。

  6. 在“Maven构建”步骤后添加“制作镜像并推送到SWR仓库”构建步骤,并录入所需镜像信息。

    • 镜像仓库:保持默认即可。
    • 组织:填写前提准备中创建的组织名。
    • 镜像名字:自定义,此处设置为“webserver”。
    • 镜像标签:自定义,此处设置为“v1.1”。
    • 工作目录:保持默认目录即可。
    • Dockerfile路径:前提准备中“Dockerfile”已存放于WebServer项目根目录,当前构建目录即为项目根目录,默认值“./Dockerfile”无需更改。

  7. 保存并执行任务,执行成功后,即可查看构建结果
分享:

    相关文档

    相关产品