持续交付预置 应用部署 任务,支持通过流水线触发应用交付模块的应用部署,实现流水线和应用交付模块的联动。本文为您介绍如何使用应用部署任务。
背景信息
通过在流水线编排 编译构建 > 镜像构建推送至镜像仓库 > 应用部署 任务,可实现从源码编译构建、镜像打包、到应用发布的完整流程。
前提条件
- 已在应用交付模块创建应用,并完成应用初始化操作。具体操作可参见 应用交付快速入门(v2)。
- 若使用自定义镜像,请提前准备好待部署的目标镜像地址。
- 若目标镜像为私有镜像,请注意在部署集群提前设置密钥或配置免密组件。在容器服务配置可参考 配置保密字典、配置免密组件。
添加任务
创建或编辑流水线时,在 流程编排 页签,单击 添加任务,弹出 添加任务 抽屉。任务模板选择 应用部署。
参数说明
配置项 | 说明 |
---|
任务名称 | 默认为应用部署,支持自定义任务名称。 |
上游任务 | 展示当前任务的上游串行任务名称。无上游任务时展示为- 。 |
应用类型 | 选择要部署的应用类型。支持 K8s YAML 应用、OAM 应用、托管应用。下文将分别介绍每种应用的配置项。 |
部署方案 | 当前仅支持 原生部署 策略。 |
超时时间 | 设置自动超时时间。任务运行时长超过该时间,则判断部署失败,系统自动触发回滚操作,回滚到升级前版本。
默认为 300 s,可选范围:1 ~ 7200 s。 |
任务输出 | 展示当前任务输出的产物。无产物时展示为- 。 |
高级设置 | Webhook 通知:支持通过 Webhook 和飞书机器人两种方式推送任务维度的消息,帮助您及时掌握任务动态。 |
K8s YAML 应用
配置项 | 说明 |
---|
应用 | 设置要部署的 K8s YAML 应用,支持下拉选择或输入应用标识。 - 下拉选择:展示当前工作区下的所有 K8s YAML 应用(前提已完成应用初始化操作)。
- 输入:支持自行输入 K8s YAML 应用标识。输入应用标识时,支持引用流水线变量。
|
环境 | 设置要部署的环境,支持下拉选择或输入环境标识。 - 下拉选择:展示当前应用下的所有环境实例(前提已完成环境初始化操作)。
- 输入:支持自行输入环境标识。输入环境标识时,支持引用流水线变量。
|
制品 | 设置要部署的制品。对于 K8s YAML 应用,制品指容器镜像。 - 制品名称:K8s YAML 应用的制品名称为镜像占位符,例如 backend。系统将自动拼接为 AppDeliver.Image.backend,在部署时替换镜像占位符,传入具体制品。
- 应用和环境均为选择时,系统将自动获取制品数量和制品名称。
- 应用或环境存在输入时,需自行添加制品,支持添加多条。输入制品名称时,支持引用流水线变量。
注意 如果传入的制品名称不存在或错误,可能导致此次部署时无法正确替换制品,从而导致部署失败或不符合部署预期。 - 制品来源:支持上游产物和自定义两种方式。
- 上游产物:待部署的镜像来源是上游任务的产物时,选择此项。例如:在流水线编排 编译构建 > 镜像构建推送至镜像仓库 > 应用部署 任务,镜像选择上游镜像构建任务的产出物。
- 自定义:如已提前准备好镜像,选择此项,并输入镜像的完整地址。镜像地址格式为
host/namespace/repo:tag 。输入镜像地址时,支持引用流水线变量。
|
部署 YAML | 当应用、环境、制品均为选择时,展示应用的部署 YAML。
单击 查看详情,即可查看应用的 YAML 详情,确认应用配置是否符合预期。 |
OAM 应用
配置项 | 说明 |
---|
应用 | 设置要部署的 OAM 应用,支持下拉选择或输入应用标识。 - 下拉选择:展示当前工作区下的所有 OAM 应用(前提已完成应用初始化操作)。
- 输入:支持自行输入 OAM 应用标识。输入应用标识时,支持引用流水线变量。
|
环境 | 设置要部署的环境,支持下拉选择或输入环境标识。 - 下拉选择:展示当前应用下的所有环境实例(前提已完成环境初始化操作)。
- 输入:支持自行输入环境标识。输入环境标识时,支持引用流水线变量。
|
制品 | 设置要部署的制品。 对于 OAM 应用,制品指每个组件的容器镜像。 - 组件名称:需要传入制品信息的组件名称,例如 deployment。
- 制品名称:OAM 应用中制品名称为组件使用的镜像占位符,例如 backend。系统将自动拼接为 AppDeliver.Image.backend,在部署时替换镜像占位符,传入具体制品。
注意 - 应用和环境均为选择时,系统将自动获取需传入制品信息的组件数量、组件名称和制品名称。
- 应用或环境存在输入时,需自行添加制品,支持添加多条。
- 输入组件名称时,支持引用流水线变量。如果传入的组件名称不存在或错误,可能导致此次部署时无法正确替换制品,从而导致部署失败或不符合部署预期。
- 输入制品名称时,支持引用流水线变量。如果传入的制品名称不存在或错误,可能导致此次部署时无法正确替换制品,从而导致部署失败或不符合部署预期。
- 制品来源:支持上游产物和自定义两种方式。
- 上游产物:待部署的镜像来源是上游任务的产物时,选择此项。例如:在流水线编排 编译构建 > 镜像构建推送至镜像仓库 > 应用部署 任务,镜像选择上游镜像构建任务的产出物。
- 自定义:如已提前准备好镜像,选择此项,并输入镜像的完整地址。镜像地址格式为
host/namespace/repo:tag 。输入镜像地址时,支持引用流水线变量。
|
托管应用
配置项 | 说明 |
---|
应用 | 设置要部署的托管应用,支持下拉选择或输入应用标识。 - 下拉选择:展示当前工作区下的所有托管应用(前提已完成应用初始化操作)。
- 输入:支持自行输入托管应用标识。输入应用标识时,支持引用流水线变量。
|
环境 | 设置要部署的环境。
托管应用当前仅唯一关联一个环境实例。当应用为选择时,系统将自动获取环境标识;当应用为输入时,不展示环境信息。 |
应用技术栈 | 支持 Java 和 其他 语言。
当应用为选择时,系统将自动获取应用技术栈;当应用为输入时,需自行选择应用技术栈。 |
版本号 | 自定义应用的版本号。 - 支持引用流水线变量。
- 可单击右侧的 版本号使用时间戳,自动生成版本号。
|
制品 | 设置要部署的制品。 - 对于 Java 托管应用,使用二进制包部署。制品仅支持选择上游 制品上传 任务的产物。
- 对于其他托管应用,使用容器镜像部署。制品来源支持支持上游产物和自定义两种方式。
- 上游产物:待部署的镜像来源是上游任务的产物时,选择此项。例如:在流水线编排 编译构建 > 镜像构建推送至镜像仓库 > 应用部署 任务,镜像选择上游镜像构建任务的产出物。
- 自定义:如已提前准备好镜像,选择此项,并输入镜像的完整地址。镜像地址格式为
host/namespace/repo:tag 。输入镜像地址时,支持引用流水线变量。
|
日志及部署详情
下文以 K8s YAML 应用为例,为您介绍该预置任务运行完成后,流水线展示的详情信息。
在当前流水线的运行详情页面,单击应用部署卡片的标题,查看运行日志和任务配置信息。
- 运行日志:实时展示应用部署任务的运行日志,例如检查配置、触发部署、部署进度等。
- 任务配置:展示该任务的配置参数,详情可参考前文的参数说明。
单击 查看部署详情,跳转至应用交付模块对应应用的部署详情页面。支持查看应用下所有组件的部署进度。
单击 详情,进一步下钻查看当前组件的部署进度。其中,Deployment 资源可单击 查看日志,查看 Pod 实时日志。