You need to enable JavaScript to run this app.
文档中心
持续交付

持续交付

复制全文
下载 pdf
最佳实践
通过应用交付实现一套编排差异化部署
复制全文
下载 pdf
通过应用交付实现一套编排差异化部署
应用交付功能以应用为核心,提供应用编排、环境管理、配置管理、应用发布等一站式能力,帮助简化云原生场景下发布微服务的复杂性,提高应用交付效率,降低发布风险。​
本文以在开发环境部署 Kubernetes YAML 应用为例,为您介绍应用交付的基本能力和使用流程。开发环境关联的部署集群使用火山引擎容器服务集群。​
前提条件​
除 准备工作 外,您还需要完成以下操作:​
  • 已准备好要部署的镜像。​
步骤一:应用初始化​
应用初始化阶段涵盖应用创建、环境配置与应用编排三大核心环节。完成初始化后,应用将基本具备部署条件,可进入后续部署流程。​
1. 创建应用​
创建一个可独立交付的对外提供服务的单元。​
  1. 在概览页面的工作区区域,选择目标工作区名称,进入该工作区。​
  1. 在当前工作区页面,选择左侧导航栏的 应用交付, 进入应用交付页面,单击 创建应用。​
  1. 在创建应用页面,按要求填写应用的相关配置信息。​
  • ​
    配置项​
    说明​
    应用显示名​
    自定义应用的显示名称。本示例设置为App-demo。​
    注意​
    该名称不是 YAML 文件中的资源名称。​
    应用标识​
    根据界面提示填写应用标识。应用标识是应用的唯一标识,创建后不可更改。应用编排 YAML 文件中预置占位符 appName 的值将采用您填写的应用标识。本示例设置为appdemo1201。​
    描述​
    填写当前应用的备注信息,可以为空。​
    应用类型​
    当前仅支持 K8S YAML 应用。​
    成员管理​
    快捷配置当前应用的组成成员,并为每个成员配置不同的权限,满足多角色协作进行应用交付的需求。​
    • 添加成员:为当前应用添加成员,支持添加多个成员。​
    • 权限:系统预置管理员、开发、测试、运维、只读共五种角色。每个成员支持配置一个或多个角色的权限。​
    火山引擎账号默认为应用的管理员,不可取消。本示例在火山引擎账号基础上,添加一名成员,并赋予开发权限。​
    部署方式​
    当前仅支持 预置 K8S YAML 部署,即通过 K8S YAML 描述文件对应用进行部署。​
    ​
  1. 填写完成后,单击 确定,弹出 应用初始化配置 下一步指引框。​
2. 环境配置​
系统预置了 开发、测试、预发、生产 共四个环境等级。每个环境等级可选择预置一个环境。建议至少预置一个环境,便于后续应用编排及配置管理使用。​
  1. 根据界面引导,单击 初始化 2:环境管理。​
  1. 在环境管理页面,勾选需要预置环境的环境等级。本示例选择预置一个开发环境和一个测试环境。​
  1. 单击 确定,弹出 应用初始化配置 下一步指引框。​
3. 应用编排​
对应用的 YAML 描述文件进行编排。当前支持编排 Deployment、Service、Configmap 三种资源类型的 YAML 文件。系统为您提供了 Deployment、Service、Configmap 模板文件,模板中每个参数的值均使用占位符表示,并且每个占位符已填充常用的默认值,方便您快速进行应用编排。​
说明​
本示例使用默认的 Deployment 和 Service 模板文件,并对 Deployment 模板文件做以下修改,为您介绍如何在应用编排中使用变量,实现不同环境下的差异化部署。变量的值会在后续的环境配置中启用和填充。​
  • 为 Deployment 添加一个标签 label,label 的值使用变量 Label 填充。​
  • 使用变量 Replicas 填充副本数 replicas 的值。​
  1. 根据界面引导,单击 初始化 3:应用编排。​
  1. 在应用编排页面,左侧展示 Deployment 和 Service 的 YAML模板,右侧展示各占位符信息。您可根据需要,单击 ➕,新建更多的 YAML 文件。本示例不新增其他 YAML 文件。​
  • 当前一个应用仅允许添加一个 Deployment 类型的资源。​
  • 一个应用最多可添加 10 个 YAML 文件。​
  • ​​​
  1. 编排 Deployment 文件,设置标签 label。​
  1. 在左侧 metadata.labels.run 参数下方输入run: "{{ .Values.label }} "。​
  1. 单击 提取占位符,右侧自定义占位符区域同步展示新增的自定义占位符 label。​
  1. 设置自定义占位符 label 的信息。类型 选择 字符串,值来源 选择 变量。​
  1. 在 值 输入框里,单击 创建配置项, 快捷创建一个自定义配置项 Label,并使用 Label 填充 值。​
  • ​alt​​
  1. 编排 Deployment 文件,使用变量 Replicas 填充副本数 replicas 的值。​
  1. 在右侧自定义占位符区域,找到 replicas 参数,类型 选择 整数,值来源 选择 变量。​
  1. 在 值 输入框里,单击 创建配置项, 快捷创建一个自定义配置项 Replicas,并使用 Replicas 填充 值。​
  • ​
  • ​alt​​
  1. 单击 确定,弹出对话框,设置当前编排记录的生效环境。本示例选择生效至上一步预置的 开发环境 1 和 测试环境 1。​
  1. 单击 创建,弹出 恭喜完成应用初始化配置 的引导框,单击 我知道了,返回当前应用的发布页面。​
步骤二:环境初始化​
对预置环境完成初始化操作,主要是为预置环境关联待部署的集群。本示例对预置的 开发环境 1 进行初始化。​
  1. 切换至 环境 页签,找到 开发环境 1,单击 环境初始化。​
  1. 在编辑环境页面,按要求配置参数。​
  • ​
    配置项​
    说明​
    环境等级​
    显示所选环境的环境等级,本示例为 开发。​
    环境显示名​
    默认为 开发环境 1,支持修改。本示例不修改。​
    环境标识​
    环境标识是环境的唯一标识,不支持修改。本示例为dev1。环境标识对应应用编排 YAML 文件中预置占位符 envName 的值。​
    部署资源​
    选择应用实际部署的位置,例如 Kubernetes 集群、云服务器、虚拟机、物理机等。当前仅支持 Kubernetes 集群类型的部署资源。此处选择前提条件中准备好的容器服务集群Demo-Deploy-Resource。​
    Namespace 覆盖​
    勾选后,须填写 Namespace 名称。部署当前环境时,此处的 Namespace 名称将覆盖 YAML 中定义的 Namespace。如果待部署集群中不存在该 Namespace,将在部署时新建。本示例不勾选。​
    关联配置​
    检查配置是否符合环境诉求。此处主要进行环境初始化,可跳过。​
    关联工作流​
    查看已关联的发布工作流。此处主要进行环境初始化,可跳过。​
    ​
  1. 单击 确定,完成环境初始化操作。​
步骤三:启用/更新环境配置​
在环境中启用配置项,为配置项赋值。本示例在 开发环境 1 启用步骤一应用编排中设置的自定义配置项 Label 和 Replicas,并为 Label 和 Replicas 在当前环境赋值。​
说明​
推荐开发人员先检查对应环境的配置项,完成配置更新,之后运维人员再去发起部署动作。​
  1. 切换至 配置 页签。在 环境配置 标签页下,选择 开发环境 1,单击 编辑配置值。​
  1. 在编辑配置值页面,启用 Label 和 Replicas,并赋值。本示例中 Label 赋值为 demo1201-1940,Replicas 赋值为 3。​
  1. 单击 确定,完成配置项启用及赋值。​
步骤四:集成外部服务​
集成外部镜像仓库。建议将您自己的镜像仓库接入应用交付,部署应用时从您的仓库拉取镜像,提高镜像部署效率及安全性。​
说明​
使用工作流发布方式,必须先集成自己的镜像仓库。工作流发布当前仅支持从已集成的镜像仓库拉取镜像。​
  1. 切换至 外部集成 页签,单击 添加外部服务。​
  1. 在添加服务页面,按要求填写参数信息。​
  • ​
    配置项​
    说明​
    名称​
    自定义外部服务的名称,本示例名称为myharbor。​
    类型​
    选择外部服务的类型。当前支持 Harbor 镜像仓库和通用的 Docker Registry 类型镜像仓库。本示例选择接入 Harbor 镜像仓库。​
    地址​
    输入待接入镜像仓库的 HTTP(S) 协议地址。​
    项目​
    输入仓库下的项目名称。​
    用户名​
    输入登录仓库的用户名。​
    密码​
    输入登录仓库的密码。​
    忽略证书有效性​
    使用 HTTPS 地址时,是否忽略证书有效性校验。本示例不勾选。​
    ​
  1. 单击 校验并创建,将您的镜像仓库集成至应用交付。​
步骤五:部署应用​
应用交付提供立即部署和工作流发布两种部署方式。本示例将分别为您介绍两种部署方式。​
  • 立即部署:直接发起部署,操作简单敏捷,适用于开发、测试环境随时发起部署,进行快速验证。​
  • 工作流发布:创建一个完整的发布流程,包括工作流配置、人工审核、镜像部署、 脚本执行等环节,支持通知提醒及查看工作流实时日志,发布流程更加完善可靠。生产环境部署必须创建发布工作流。​
方式一:立即部署​
  1. 切换至 环境 页签,找到 开发环境 1,单击 立即部署。​
  1. 在立即部署页面,按要求填写部署配置信息。​
  • ​
    配置项​
    说明​
    应用版本​
    显示应用编排的版本。支持单击查看当前版本的应用编排是否符合预期。​
    镜像​
    输入要部署镜像的完整地址,此处的镜像即对应 Deployment. yaml 文件中的镜像占位符 image.backend 的值。​
    本示例使用 myharbor 仓库中的 Nginx 镜像,完整地址为 harbor.volces.com/cp-test/nginx:1.9.1。​
    部署策略​
    支持 原生部署 和 分批发布 两种部署策略。推荐使用分批发布策略,支持分批、暂停、继续的精细化部署能力,更加可控。​
    本示例使用分批发布:分 2 批,第 1 批比例为 30%,第 2 批比例为 70%。结合副本数 Replicas 为 3,则第一批发布 1 个实例,第二批发布 2 个实例(第 1 批 ≤ 1 时,向上取 1;其余批次,不为整数时向下取整)。​
    环境配置​
    单击 查看详情,检查配置是否符合环境诉求:启用的配置项是否正确、配置项的值是否正确。如果不正确支持快速修改。​
    本示例启用 Label 和 Replicas, Label 赋值为 demo1201-1940,Replicas 赋值为 3,符合诉求。​
    部署 YAML​
    直观展示最终要部署的 YAML 文件。单击 查看详情,检查要部署的 YAML 文件是否符合预期。​
    本示例部署 1 个 Deployment 和 1 个 Service,各参数值符合预期。​
    ​
  1. 单击 确定,跳转至 运行流程 页签,开始部署。​
  1. 在运行流程页签,第一批部署成功后,系统展示 部署下一批 按钮,单击后开始部署下一批。直至所有批次部署完毕。​
方式二:工作流发布​
本示例创建一条 人工审核 > 镜像部署 > 脚本执行 工作流,并运行工作流,为您介绍工作流发布的完整操作。​
  1. 切换至 发布 页签,单击 创建工作流。​
  1. 在创建工作流页面,填写 工作流配置 基本信息。​
  • ​
    配置项​
    说明​
    名称​
    自定义工作流名称。本示例名称为工作流 demo。​
    描述​
    填写当前工作流的备注信息,可以为空。​
    环境级别​
    本示例选择 开发。​
    通知提醒​
    配置工作流消息的通知提醒方式。应用交付支持通过站内信、短信、邮件、Webhook 推送工作流消息,帮助您快速了解应用部署结果。本示例不启用。​
    ​
  1. 在左侧单击 人工审核,配置人工审核的任务信息。​
  • ​
    配置项​
    说明​
    任务名称​
    自定义任务名称。本示例使用默认名称。​
    审批方式​
    支持 会签 和 或签 两种审批方式。本示例选择或签。​
    • 会签:所有审批人通过,即表示任务成功,流水线继续运行。​
    • 或签:任一审批人通过,即表示任务成功,流水线继续运行。​
    审批角色​
    选择审批人的角色,本示例选择管理员。​
    通知提醒​
    支持在 待审批 和 审批失败 两种情况下发送通知。勾选通知条件后,需要进一步选择通知方式。支持站内信、短信、邮件共三通知方式。本示例不启用。​
    ​
  1. 在左侧单击 镜像部署,配置镜像部署的任务信息。​
  • ​
    配置项​
    说明​
    任务名称​
    自定义任务名称。本示例使用默认名称。​
    镜像仓库​
    选择部署应用时从哪个镜像仓库拉取镜像。本示例选择步骤四接入的 myharbor 仓库。​
    ​
  1. 在左侧单击 脚本执行,配置脚本执行的任务信息。​
说明​
脚本执行支持使用自定义运行环境执行自定义任务,例如:数据库变更、运行一些定时任务、源码编译等。本示例主要为您介绍脚本执行支持变量传参的功能。​
  • ​
    配置项​
    说明​
    任务名称​
    自定义任务名称。本示例使用默认名称。​
    自定义镜像​
    如果您需要自定义运行环境,需要上传自定义运行环境的镜像。本示例不使用。​
    运行脚本​
    输入您的运行脚本。执行框内支持设置占位符作为变量传参,在实际运行工作流时需输入占位符对应的值,仅支持输入常量。​
    本示例输入以下脚本:​
    ​
    echo {{ .Script.VALUES1}} #引入变量 VALUES1​
    echo hello world​
    ​
    ​
  1. 单击 保存,完成工作流创建。​
  1. 找到刚创建完成的工作流,单击 运行。​
  1. 在运行页面,按要求配置以下信息。​
  • 运行配置​
  • ​
    配置项​
    说明​
    环境等级​
    显示当前工作流关联的环境等级。本示例为开发。​
    环境​
    本示例选择 开发环境 1。​
    应用编排​
    显示应用编排的版本。支持单击查看当前版本的应用编排是否符合预期。​
    ​
  • 镜像部署配置​
  • ​
    配置项​
    说明​
    镜像仓库​
    显示您创建工作流时选择的镜像仓库。​
    镜像​
    输入要部署镜像的地址:repo:tag。此处的镜像即对应 Deployment. yaml 文件中的镜像占位符 image.backend 的值。​
    本示例使用 myharbor 仓库中的 Nginx 镜像,地址为 nginx:1.9.1。​
    部署策略​
    支持 原生部署 和 分批发布 两种部署策略。推荐使用分批发布策略,支持分批、暂停、继续的精细化部署能力,更加可控。​
    本示例使用分批发布,分 2 批,第 1 批比例为 30%,第 2 批比例为 70%。结合副本数 Replicas 为 3,则第一批发布 1 个实例,第二批发布 2 个实例(第 1 批 ≤ 1 时,向上取 1;其余批次,不为整数时向下取整)。​
    环境配置​
    单击 查看详情,检查配置是否符合环境诉求:启用的配置项是否正确、配置项的值是否正确。如果不正确支持快速修改。​
    本示例启用 Label 和 Replicas, Label 赋值为 demo1201-1940,Replicas 赋值为 3,符合诉求。​
    部署 YAML​
    直观展示最终要部署的 YAML 文件。单击 查看详情,检查要部署的 YAML 文件是否符合预期。本示例部署 1 个 Deployment 和 1 个 Service,各参数值符合预期。​
    ​
  • 脚本执行配置​
  • ​
    配置项​
    说明​
    配置值​
    输入占位符 VALUES1 对应的值。本示例输入的值为 hello app demo。​
    ​
  1. 单击 运行,跳转至 运行流程 页签,开始运行工作流。​
  1. 运行至人工审核任务,页面显示待审批,由审批人单击 通过 后,工作流继续运行。管理员可以选择跳过人工审核环节。​
  1. 运行至镜像部署任务,第一批部署成功后,系统展示 部署下一批 按钮,单击后开始部署下一批。直至所有批次部署完毕。​
  1. 部署完成后,运行至脚本执行任务。系统将自动执行脚本。​
  • ​
  • 预期脚本执行将成功打印出“hello app demo”。至此,整个工作流运行成功。​
检查结果​
您也可以登录容器服务控制台,找到具体部署的命名空间和 Deployment 名称,检查部署的 Deployment 应用是否符合预期。​
​
如图所示,Deployment 名称为appdemo1201-dev1,标签为demo1201-1940,实例数量为3;部署镜像为harbor.volces.com/cp-test/nginx:1.9.1;关联的服务为 appdemo1201-dev1,均符合预期。​
​
​​​
​​​
​​​
至此,您已体验完成应用交付快速入门。​
​
最近更新时间:2026.06.17 16:50:41
这个页面对您有帮助吗?
有用
有用
无用
无用