构建镜像并推送到ACR

本文档是通过流水线Flow,实现从代码托管仓库到构建镜像并推送到ACR镜像仓库,执行的自动化流水线任务,使用以下示例演示操作步骤。

前提条件

步骤一:新建流水线

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

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

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

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

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

    说明

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

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

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

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

步骤三:配置流水线任务-构建镜像并推送到ACR

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

    说明
    • 建议选择使用镜像构建并推送至阿里云镜像仓库企业版,企业版支持多地域,提供稳定快速的镜像上传、下载服务。

    • 镜像构建并推送至阿里云镜像仓库个人版,是面向个人开发者,功能受限较多,不保障SLA(镜像网络加速性能),具体详情请参阅什么是容器镜像服务ACR

  2. 单击新添加的任务镜像构建并推送至阿里云镜像仓库企业版,在编辑页面配置参数。

    参数

    说明

    任务名称

    自定义任务名称。

    构建集群

    根据需求选择合适的默认公共或者私有构建集群。

    构建环境

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

    说明

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

    下载流水线源

    根据需求选择下载流水线源的不同方式。

  3. 以下提供了企业版和个人版的任务配置参数,根据您的需求选择,完成任务参数设置。

    企业版

    企业版配置参数设置。

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

    2. 选择服务链接:单击右侧添加服务链接按钮,在弹出窗口页,选择您的ACR服务链接信息,在设置服务授权/证书时候,如果没有ACR资源授权访问权限,请单击右侧新建按钮,进行同意授权,最后单击创建按钮,完成选择服务链接。

    3. 地域:根据容器镜像服务ACR目标实例的区域,选择相同的区域。

    4. 企业实例:选择容器镜像服务ACR企业版目标实例。

    5. 命名空间:选择目标ACR镜像仓库所属的命名空间。

    6. 仓库:选择目标ACR镜像仓库。

    7. 标签:设置动态参数${DATETIME},表示镜像被推送到ACR后,将会以当前日期时间作为版本名称。

      说明

      标签:支持固定参数例如1.0,或者动态参数例如${DATETIME}。

    8. Dockerfile路径:本文示例代码源仓库中Dockerfile文件是在根目录下,保持默认路径即可。

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

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

    9. 完成参数设置后,单击右上方X关闭按钮。image

    重要
    • 由于Flow需要将构建的镜像推送到ACR仓库,需要ACR企业版目标实例开启镜像仓库公网进行通信,请设置ACR访问控制公网是开启状态,再将Flow构建集群公网出口地址,添加到ACR公网白名单里。

    • 查看Flow构建集群公网出口地址,在流水线Flow控制台界面导航菜单最下方,单击菜单全局设置,在全局设置页面导航菜单里单击构建集群管理,在构建集群管理页面,本文使用的云效默认构建集群下的云效北京构建集群,根据需求选择地区集群,将查看的公网出口地址添加到ACR访问控制白名单里。

    • 如果您使用私有构建集群,Flow是通过VPC地址推送ACR镜像仓库的,需要在任务编辑页面的任务步骤配置项里单击勾选私有构建集群使用VPC地址推送镜像,就无需开启ACR公网。添加私有构建集群,具体操作请参阅构建集群

    个人版

    个人版配置参数设置。

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

    2. 选择服务链接:与企业版服务链接设置相同。

    3. 地域:根据容器镜像服务ACR目标实例的区域,选择相同的区域。

    4. 仓库:选择目标ACR镜像仓库。

    5. Dockerfile路径:本文示例代码源仓库中Dockerfile文件是在根目录下,保持默认路径即可。

    6. 完成参数设置后,单击右上方X关闭按钮。

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

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

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