工作流任务
工作流任务指在阶段下方点击 +任务
为阶段增加的任务配置,系统目前支持构建
、部署
、通用任务
、Kubernetes 部署
、测试
、自定义任务
等任务类型。
构建
构建任务
任务类型 | 自定义工作流 | 发布工作流 |
---|---|---|
构建任务 | √ | - |
参数说明:
任务名称
:支持 32 位以内的小写英文字母、数字或者中划线,且以小写英文字母开头;在同一个自定义工作流中,任务名称需唯一镜像仓库
:选择镜像仓库,当构建任务执行完成功后,构建出的镜像(即内置 $IMAGE 变量)会被推送到所选仓库中服务组件
:选择服务组件以及该服务组件使用的构建名称,点击展开构建配置的设置
可配置所选中的变量值以及代码库默认分支变量
:参考 构建任务变量分支配置
:选择代码库并指定默认分支,执行工作流时会默认使用指定的分支
提示
- 内置构建任务中不再支持
$ENV_NAME
构建变量,需要确保构建脚本中未使用该变量。 - 暂不支持使用 Jenkins 构建。
部署
部署任务
任务类型 | 自定义工作流 | 发布工作流 |
---|---|---|
部署任务 | √ | - |
参数说明:
任务名称
:支持 32 位以内的小写英文字母、数字或者中划线,且以小写英文字母开头;在同一个自定义工作流中,任务名称需唯一环境
:选择要部署的环境,支持三种配置方式,具体请参考 部署任务变量 中关于环境信息的描述服务组件
:配置要部署的服务组件,支持两种配置方式,具体请参考 部署任务变量 中关于服务信息的描述部署内容
:配置要部署的内容,包括以下三种选项:状态检测
:若开启,部署任务会轮询服务运行状态- 服务实例的 Replicas = AvailableReplicas,则部署成功,工作流任务状态为成功
- 服务容器因 ImagePullBackOff/ErrImagePull/CrashLoopBackOff/ErrImageNeverPull 原因而处于 waiting 状态时,视为部署失败,工作流任务状态为失败
- 当超过部署超时时间后仍没有满足成功/失败条件,则部署超时,部署超时设置可参考 服务策略配置
Kubernetes 部署任务
任务类型 | 自定义工作流 | 发布工作流 |
---|---|---|
Kubernetes 部署任务 | √ | √ |
部署指定集群指定命名空间中的容器。
参数说明:
任务名称
:在同一个自定义工作流中,任务名称需唯一镜像仓库
:执行 Kubernetes 部署任务时,从哪个镜像仓库获取镜像来部署目标容器集群
:待部署容器所在的集群命名空间
:待部署容器所在的命名空间容器
:指定命名空间中的容器应用(目前支持 Deployment 资源及 Statefulset 资源)容器状态检测
:若开启,部署任务会轮询容器运行状态,在部署超时之前该容器正常运行,任务状态才为成功超时时间
:容器部署超时时间
测试
测试任务
任务类型 | 自定义工作流 | 发布工作流 |
---|---|---|
测试任务 | √ | √ |
支持在自定义工作流中引用测试配置。
任务类型包括服务测试和产品测试:
- 产品测试:指定测试即可
- 服务测试:指定服务组件并配置服务组件和测试的对应关系,其中服务组件来源可指定为运行时输入,也可指定为前置任务输出(包括:构建任务、部署任务、镜像分发任务)
选择具体的测试配置后,可对测试配置中的变量以及代码库默认分支进行设置。
代码扫描
任务类型 | 自定义工作流 | 发布工作流 |
---|---|---|
代码扫描 | √ | √ |
使用已配置完成的 Sonar 进行代码扫描任务,对代码质量进行验证。代码扫描的配置详见 代码扫描设置
参数说明:
任务名称
:在同一个自定义工作流中,任务名称需唯一。扫描名称
:选择项目中的代码扫描任务,可多选。分支配置
:可对添加的代码库的指定分支进行扫描。如需修改代码扫描的代码库配置,可参照代码扫描设置
项目管理
JIRA 问题状态变更
任务类型 | 自定义工作流 | 发布工作流 |
---|---|---|
JIRA 问题变更 | √ | √ |
可以在完成工作流某个阶段后,自动变更 JIRA 对应项目下 Issue 的状态。
参数说明:
任务名称
:在同一个自定义工作流中,任务名称需唯一。Jira 项目
:选择 Jira 空间下对应的项目。问题类型
:可根据需要选择对应类型。变更的问题
:选择所需变更的问题。目标状态
:选择需要变更到的状态,需注意,如目标状态与当前状态相同,则变更会失败。
飞书工作项状态变更
任务类型 | 自定义工作流 | 发布工作流 |
---|---|---|
飞书工作项状态变更 | √ | √ |
可以在完成工作流某个阶段后,自动变更飞书对应空间下的工作项状态。
参数说明:
任务名称
:在同一个自定义工作流中,任务名称需唯一。空间
:选择所需的飞书空间。工作项类型
:可根据需要选择对应类型。
执行工作流时,选择所需变更的工作项和对应的目标状态,点击执行后,飞书项目状态将完成自动变更。
提示
目前只支持状态模式的工作项变更。
配置变更
Apollo 配置变更
任务类型 | 自定义工作流 | 发布工作流 |
---|---|---|
Apollo 配置变更 | √ | √ |
通过工作流的任务执行,支持同时对 Apollo 管理的多份配置进行变更。
参数说明:
任务名称
:在同一个自定义工作流中,任务名称需唯一。Apollo 地址
:选择已绑定过的 Apollo 地址,如需添加可前往 Apollo 配置 查看详情。Apollo 配置范围
:配置可变更的配置范围,支持 TEXT、JSON、XML、YAML、HTML、Properties。
Nacos 配置变更
任务类型 | 自定义工作流 | 发布工作流 |
---|---|---|
Nacos 配置变更 | √ | √ |
通过工作流的任务执行,支持同时对 Nacos 管理的多份配置进行变更。
参数说明:
任务名称
:在同一个自定义工作流中,任务名称需唯一。Nacos 地址
:选择已绑定过的 Nacos 地址,如需添加可前往 Nacos 配置 查看详情。命名空间
:选择所需的命名空间配置
:选择对应的配置,可多选。
数据变更
MySQL 数据库变更
任务类型 | 自定义工作流 | 发布工作流 |
---|---|---|
MySQL 数据库变更 | √ | √ |
对 MySQL 数据库执行 SQL 语句,实现数据和代码变更联动变更。
参数说明:
mysql_host
:数据库地址mysql_port
:数据库端口号username
:用户名password
:密码query
:SQL语句,支持多行
DMS 数据变更工单
任务类型 | 自定义工作流 | 发布工作流 |
---|---|---|
DMS 数据变更工单 | √ | √ |
自动向阿里 DMS 提交 SQL 变更工单并等待工单完成。
参数说明:
AK
:阿里云账号的 AKSK
:阿里云账号的 SKDBS
:需要执行变更的数据库,比如:test@127.0.0.1:3306,test@127.0.0.2:3306
AFFECT_ROWS
:影响行数EXEC_SQL
:需要执行的 SQL 语句COMMENT
:工单评论信息
其他
通用任务
任务类型 | 自定义工作流 | 发布工作流 |
---|---|---|
通用任务 | √ | √ |
支持拉取代码、执行 Shell 脚本、文件存储等功能。
执行环境
:参考 构建环境配置代码信息
:参考 代码信息配置,也可以配置代码库类型的全局变量后,将代码源的值设置为全局变量/其他任务输出变量
:参考 通用任务变量添加步骤
:包括添加 Shell 脚本执行以及文件存储,可参考 更多构建配置高级配置
:参考 高级配置
镜像分发
任务类型 | 自定义工作流 | 发布工作流 |
---|---|---|
镜像分发 | √ | √ |
可将镜像 Retag 后推送到指定镜像仓库。
参数说明:
任务名称
:在同一个自定义工作流中,任务名称需唯一。服务组件
:需要做镜像分发的服务组件。源镜像仓库
:待分发的镜像来源。目标镜像仓库
:镜像分发的目标仓库。
触发 Zadig 工作流
可触发其他 Zadig 自定义工作流。
- 被触发的自定义工作流需要满足条件:仅包含通用任务/自定义任务/触发 Zadig 工作流任务
- 可触发当前项目下的自定义工作流
支持触发所有自定义工作流,或指定服务组件和工作流的对应关系触发部分工作流。
点击变量配置可对被触发工作流中的变量进行配置,具体请参考 触发 Zadig 工作流的变量配置。
下线服务
K8s YAML 项目中支持。
将服务资源从环境中删除。
自定义任务
自己定义任务的实现,在工作流中配置自定义任务,详细使用方法请参考 自定义任务。