赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 容器镜像服务
  4. 实践教程
  5. 使用触发器构建容器DevOps

使用触发器构建容器DevOps

  • 实践教程
  • 发布于 2025-04-18
  • 0 次阅读
文档编辑
文档编辑

通过容器镜像服务可以便捷地构建基于容器的DevOps开发环境。本文介绍如何使用触发实现镜像代码被修改后,自动触发镜像构建,且自动触发容器服务上应用的重新部署。

前提条件

  • 已绑定企业版实例与阿里云Codeup代码平台。

  • 已创建镜像仓库,并绑定代码仓库,镜像仓库中构建设置为代码变更时自动构建镜像。

步骤一:创建构建镜像规则

重要

使用触发器需要确保镜像的Tag固定保持不变。

以下描述展示了将Dockerfile文件置于master分支中,并在代码更新时,确保构建的镜像始终使用固定的Tag为v1。

  1. 登录容器镜像服务控制台。

  2. 在顶部菜单栏,选择所需地域。

  3. 在左侧导航栏,选择实例列表。

  4. 在实例列表页面单击目标企业版实例。

  5. 在企业版实例管理页面左侧导航栏,选择仓库管理 > 镜像仓库。

  6. 在镜像仓库页面单击目标仓库右侧操作列中的管理。

  7. 单击左侧导航栏中的构建,在构建规则设置区域单击添加规则,在构建信息配置向导中设置参数,然后单击下一步。

    参数

    说明

    示例值

    类型

    设置源代码仓库的类型,可以是Branch或Tag。

    Branch

    Branch/Tag

    选择或者填写Branch/Tag,支持正则规则。当正则规则为release-(?<imageTag>\w*)时,将识别release-v1源代码变更并自动构建版本为v1的镜像(不支持立即构建),更多信息,请参见正则表达式命名捕获组。

    说明

    设置正则规则后仅支持系统自动构建,不支持手动立即构建。

    master

    构建上下文目录

    设置Dockerfile文件所在的目录。指的是相对目录,以Branch/Tag的根目录为父目录,例如您的Branch为master,您的Dockerfile文件放在master下,则您的Dockerfile目录为/。

    /

    Dockerfile文件名

    设置Dockerfile文件名,默认为Dockerfile。

    Dockerfile

  8. 在镜像版本配置向导中设置参数,单击保存,然后单击下一步。

    说明

    单击新增配置,可以增加镜像版本,最多可以设置3个镜像版本。

    参数

    说明

    示例值

    镜像版本

    设置镜像Tag,例如latest。支持命名捕获,例如使用Branch/Tag中捕获的内容。

    v1

  9. 在构建配置配置向导中设置构建参数,然后单击确定。

    参数

    说明

    构建架构

    选择构建架构,支持并行构建,最终形成一个镜像版本对应多个架构镜像。

    构建参数

    镜像构建运行时参数,构建参数由区分大小写的键值对组成,您最多可以设置20个构建参数。您可以设置构建参数,该构建参数会修改Dockerfile文件中环境变量,使同一个Dockerfile文件呈现多种状态。

    您可以通过以下两种方式触发构建规则:

    • 在构建页面构建规则设置区域单击目标构建规则操作列下的立即构建,触发构建规则。

    • 向代码仓库的master分支提交代码,触发构建规则。

步骤二:获取容器服务触发器

重要

在ACK集群中的无状态Deployment中,将镜像拉取策略设置为总是拉取镜像(Always)(imagePullPolicy: Always),表示每次部署或扩容都会从容器镜像服务重新拉取镜像,而不会从本地拉取镜像。

  1. 登录容器服务管理控制台,在左侧导航栏选择集群列表。

  2. 在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择工作负载 > 无状态。

  3. 在无状态页面,找到目标应用,单击操作列下的详情。

  4. 在目标应用详情页面中,单击触发器页签,然后单击创建触发器。

  5. 在弹出的创建触发器对话框,选择触发器行为为重新部署,然后单击确定。

    说明

    目前触发器行为仅支持重新部署功能。

    触发器创建完毕后,目标应用详情页面的触发器栏中将展示一条触发器链接,并复制。

    触发连接器

步骤三:绑定仓库触发器

  1. 登录容器镜像服务控制台。

  2. 在顶部菜单栏,选择所需地域。

  3. 在左侧导航栏,选择实例列表。

  4. 在实例列表页面单击目标企业版实例。

  5. 在企业版实例管理页面左侧导航栏,选择仓库管理 > 镜像仓库。

  6. 在镜像仓库页面单击目标仓库右侧操作列中的管理。

  7. 单击左侧导航栏中的事件通知,在事件通知页面上单击触发器,在触发器页面上单击创建。根据以下参数配置,然后单击确定。

    参数

    说明

    示例值

    名称

    设置触发器名称。

    test

    触发器URL

    输入在步骤二:获取容器服务触发器获取的触发器URL。

    https://cs.console.aliyun.com/hook/trigger?token=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJjbHVzdGVySWQiOiJjNmQxYjQxZDE3OWI2NDA2M2IyMTg2YmNhMGZkZjQ0MjIiLCJpZCIXXXXXXXXXXXXXXXXXXXXXXXXX.f80ZGxQBADnFEa7I

    触发方式

    设置触发方式,支持以下3种触发方式:

    • 全部触发:只要镜像版本有更新,就会触发触发器。

    • 表达式触发:基于正则表达式来进行镜像版本的过滤,只有当符合正则表达式的镜像版本才会触发触发器。

    • Tag触发:基于镜像版本列表来进行镜像版本的过滤,只有镜像版本在设置的镜像版本列表中才会触发触发器。

    全部触发

步骤四:触发构建并查看信息

当您在Codeup项目的master分支修改并提交代码后,将触发仓库的构建规则进行自动构建,产生新版本的镜像。无状态Deployment会自动重新部署拉取最新版本镜像。

  1. 在镜像仓库页面单击目标仓库右侧操作列中的管理。

  2. 单击左侧导航栏中的事件通知,在事件通知页面上单击触发器,在触发器页面上,单击目标触发器操作列下的访问记录。并在访问记录弹框中单击目标访问记录ID右侧的操作列下的详情。

    可以看到请求的时间、请求的参数以及请求得到的结果。其中请求的参数提供了当前仓库的相关信息。

    image

相关文章

使用OCI v1.1.0规范管理和关联容器镜像及其衍生制品 2025-04-18 15:15

从2024年04月起,新创建的ACR企业版实例将支持OCI的Image和Distribution规范v1.1.0,包括对Reference Types的支持。这意味着您除了可以存储和分发容器镜像外,还能管理和分发非容器镜像内容的OCI制品,如镜像签名和软件物料清单(SBOM)。这使您能够像管理容器镜

使用触发器构建容器DevOps 2025-04-18 15:15

通过容器镜像服务可以便捷地构建基于容器的DevOps开发环境。本文介绍如何使用触发实现镜像代码被修改后,自动触发镜像构建,且自动触发容器服务上应用的重新部署。 前提条件 已绑定企业版实例与阿里云Codeup代码平台。<

使用Jenkins实现镜像的CICD 2025-04-18 15:15

若您期望实现从源代码自动构建、推送镜像到最终部署应用的一体化自动化操作。您可以使用Jenkins实现镜像的CI/CD,只要您在GitLab中提交源代码,容器镜像会自动使用源代码构建镜像,容器服务会自动拉取镜像部署应用,并自动发送事件通知到钉钉群。 前提条件

Java项目容器化构建最佳实践 2025-04-18 15:15

使用Dockerfile将源代码构建成容器镜像,进行镜像分发、部署。相比于Golang或Python项目,Java项目因企业一般会选择自建依赖仓库(如Maven)导致容器化构建难度高,因不熟悉Dockerfile缓存机制导致构建速度较慢。本文从典型用户场景(云上自建GitLab代码仓库、自建Mave

在Dockerfile中使用构建打包镜像并运行 2025-04-18 15:15

通过使用多阶段构建应用以及结合阿里云容器镜像服务(ACR)的镜像构建服务,可以使Java应用具有构建安全、构建速度快、镜像文件体积小等优点。 前提条件

本地构建和推送多架构镜像到容器镜像服务 2025-04-18 15:15

使用ARM架构资源部署容器通常可以节省不少成本,但也可能导致维护成本增加,您可能需要面向x86、ARM架构分别构建镜像并设置不同的Tag。您可以使用docker buildx来构建多架构镜像,并通过docker manifest实现一个Tag管理多架构的容器镜像。 前提条件

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号