镜像构建并推送自定义镜像仓库

本文档将为您介绍如何通过流水线Flow,实现从代码托管仓库到构建镜像,并推送到自定义的私有镜像仓库,执行自动化流水线任务。

前提条件

  • 请确保安装配置完成自定义的镜像仓库(ACR/Harbor),关于使用自定义ACR镜像仓库,具体操作请参阅使用个人版实例推送拉取镜像

  • 代码托管仓库需要包含构建镜像的Dockerfile指令文件。

步骤一:新建流水线

  1. 登录流水线Flow服务控制台,在控制台界面,请单击右侧上方新建流水线按钮

  2. 在弹出窗口页面,根据需求选择合适的流水线模板,选择好流水线模板后,单击创建按钮。image

步骤二:配置流水线任务-代码源

  1. 在完成步骤一新建流水线后,将会自动跳转到流水线任务节点的操作页面。

  2. 流水线源任务节点,单击任务节点按钮添加流水线源,右侧滑出页面,单击菜单代码源,选择示例代码源,在下方代码类型配置项里,单击JAVA语言,最后单击添加按钮,完成代码源流水线任务配置。image

    说明

    在添加流水线源,选择代码源时候,提供了多种代码源的托管仓库平台,如:自建Gitlab、Codeup、Github等,可以根据您的需求选择。

    重要
    • 构建镜像Dockerfile指令文件,是用于构建Docker镜像的指令文件,有关更多内容请参阅在Dockerfile中使用构建打包镜像并运行

    • 本文使用示例代码源,在示例代码仓库根目录下有构建镜像的Dockerfile指令文件。

    • 如果您选择的非示例代码源,请确保您的代码仓库已创建配置了构建镜像的Dockerfile指令文件。

步骤三:配置流水线任务-构建镜像并推送到Harbor自定义镜像仓库

  1. 完成步骤二配置流水线源任务后,单击任务节点或新建任务节点,右侧滑出编辑页面,单击导航菜单镜像构建,单击添加自定义镜像构建任务。

    说明

    关于自定义的镜像仓库,您可以使用阿里云ACR镜像仓库,也可以使用第三方的镜像仓库,如:Harbor,本文将使用Harbor镜像仓库演示。

  2. 单击新添加的任务自定义镜像构建,在编辑页面配置参数。

    参数

    说明

    任务名称

    自定义任务名称。

    构建集群

    根据需求选择云效默认构建集群或者自定义的私有构建集群。

    说明
    • 如果选择使用公共的云效默认构建集群,需要设置支持HTTPS方式的镜像仓库地址。

    • 关于选择使用私有构建集群,请参阅具体操作构建集群

    指定构建节点

    指定自定义的构建镜像节点。

    构建环境

    根据需求选择合适的构建环境。

    说明

    任务执行期间,流水线任务构建环境分配给用户使用,构建环境使用权限归属用户,任务执行脚本由用户自定义。

    下载流水线源

    根据需求选择合适的方式。

  3. 任务步骤配置项里,单击展开镜像构建并推送至自定义镜像仓库任务,完成以下任务参数设置。

    参数

    说明

    步骤名称

    您可以自定义步骤名称,本文保持默认名称。

    镜像仓库地址

    设置您的自定义镜像仓库地址。

    重要
    • 镜像仓库地址格式,例如:172.xx.xx.133/library/test:latest:表示IP地址或者域名+项目名称+标签。

    • 镜像仓库地址支持固定Repository,例如registry.cn-hangzhou.aliyuncs.com/ns/demo:1.0,或者带动态参数例如registry.cn-hangzhou.aliyuncs.com/ns/demo:${DATETIME}。

    选择凭据类型

    根据需求选择,选择使用用户名/密码方式。

    用户名

    自定义镜像仓库的登录用户名。

    密码

    自定义镜像仓库的登录密码。

    Dockerfile路径

    本文示例代码源仓库中Dockerfile文件位于根目录下,保持默认路径即可。

    说明
    • 如果非本文示例代码源,请正确设置您的Dockerfile路径地址。

    • Dockerfile路径,默认路径是相对于代码库根目录所在路径,如META/config/Dockerfile或Dockerfile。

    完成参数配置后,单击右上方X关闭按钮,任务参数配置可以参考截图。image

步骤四:运行并查看目标流水线任务

  1. 在流水线Flow控制台界面我的流水线列表,单击目标流水线右侧image运行按钮,再单击目标流水线名称,查看流水线任务节点界面。image

  2. 运行流水线任务完成后,在构建镜像任务节点,右下方单击日志,在弹出窗口中,可以查看到流水线任务的执行过程结果日志,还可以在自定义镜像仓库里查看推送的镜像版本,运行流水线任务和查看日志操作完成。image