设计自定义流水线

更新时间:2025-02-08 08:41:32

主要操作过程

  1. 流水线管理页面的自定义流水线页签,单击目标自定义流水线右侧操作列下的设计流水线

  2. 在目标自定义流水线设计器画布中,您可以参考以下步骤添加任务。

    1. 在目标位置单击1图标。1

      说明

      您可以添加阶段节点的任务,或在阶段节点内添加任务。

    2. 添加任务面板,选择需要添加的任务。本文以添加编译构建任务为例说明,点击编译构建区域。image

      重要

      如果在新建自定义流水线步骤,流水线源选择镜像,则在添加任务对话框中,没有编译构建选项。关于如何新建自定义流水线,请参见自定义流水线

      1. 编辑构建面板,您可以修改任务名称描述1

      2. 单击添加步骤,在添加面板,选择目标任务(以Maven构建为例)后,单击确定。您可以对任务步骤中的相关参数进行修改或配置,或添加多个步骤,移动同一个任务下多个步骤的先后顺序。image

  3. 可选编辑或删除目标阶段节点。单击流水线中的目标阶段节点的1图标或1图标,编辑或删除该阶段节点信息。1

    说明

    流水线源代码准备阶段节点不支持编辑和删除。

  4. 完成流水线设计后,单击保存

支持的任务类型

编译构建

任务步骤:Maven构建

image.png

支持的参数如下:

参数

说明

参数

说明

选择JDK版本

  • 默认根据应用属性自动选择

  • 支持手动指定JDK版本,包括:

    • OpenJDK 1.8

    • OpenJDK 11

    • OpenJDK 21

说明

建议使用根据应用属性自动选择,确保与应用代码脚手架一致。

选择Maven版本

  • 默认根据JDK版本自动选择。对应关系为:

    • OpenJDK 1.8对应Maven 3.6.1

    • OpenJDK 11对应Maven 3.6.1

    • OpenJDK 21对应Maven 3.9.9

  • 支持手动指定Maven版本,包括:

    • 3.6.1

    • 3.9.9

说明

建议根据JDK版本自动选择,确保编译成功。

构建命令

  • 默认生成构建命令,该构建命令配套生成的代码脚手架,可按需修改。

  • 支持按${变量名}的方式使用变量,变量会以占位符的方式在流水线运行时自动替换,例如,cd ${WORKDIR}。

任务步骤:制作镜像并推送到镜像仓库

image.png

支持的参数如下:

参数

说明

参数

说明

推送的镜像仓库

流水线运行时自动匹配,镜像仓库的分配原则可在本项目的运维 > 项目镜像仓库管理 页面配置。

芯片架构

  • 默认使用系统变量${BW_PLATFORM_ARCH}自动判断芯片架构。在实例管理页面中操作触发流水线时,会自动使用目标环境所在的容器集群的芯片架构信息,并且会保存在该系统变量中。

  • 如果该系统变量为空,则默认为amd64(即amd64_64)。

  • 支持使用变量以占位符的方式或填写静态值的方式使用。

    • 如果使用自定义变量,在流水线运行时由用户填写,推荐自定义变量的采用“单选下拉”的方式设置,备选值-value分别为amd64、arm64。

    • 无论采用哪种配置方式,流水线运行时接受的芯片架构只能为amd64arm64,否则将会报错。

镜像名称

  • 默认的镜像名称规则为:项目编码-应用编码

  • 支持变量以占位符的方式使用,例如,${变量名}/1234。

镜像Tag

  • 默认的镜像Tag规则为:年月日时分秒-芯片架构,例如20240527115202-amd64。

  • 支持变量以占位符的方式使用,例如,${变量名}/1234。

工作目录

  • 在此目录下执行docker build

  • 支持变量以占位符的方式使用,例如,${变量名}/1234。

Dockerfile路径

支持变量以占位符的方式使用,例如,${变量名}/1234。

构建参数

  • 构建参数会以--build-arg的形式传递到build命令的参数中。

  • 支持添加多个构建参数。

本步骤的输出包括:

参数

说明

参数

说明

容器镜像地址

镜像生成并推送到镜像仓库成功后,返回容器镜像的地址和Tag。

部署

任务步骤:部署到目标环境

image.png

支持的参数如下:

参数

说明

参数

说明

目标部署环境类型

用于控制可部署的环境类型。

部署镜像

  • 流水线源=代码时,只能选择制作镜像并推送到镜像仓库步骤的输出。

  • 流水线源=镜像时,只能选择流水线源的镜像地址变量。

重要

一个自定义流水线中最多只能有一个部署到目标环境的步骤。

流水线控制

步骤:人工审批

image.png

支持的参数如下:

参数

说明

参数

说明

审批方式

  • 会签:需要所有人审批同意。

  • 或签:只需一名审批人同意或拒绝即可。

审批人范围

  • 指定成员,可选择如下角色的成员:企业管理员、当前项目的项目负责人、当前应用的应用负责人、应用开发、应用运维。

  • 指定角色,可选择如下角色:企业管理员、当前项目的项目负责人、当前应用的应用负责人、应用开发、应用运维。

审批界面业务信息说明

  • 默认生成,可按需修改。

  • 支持使用变量。

重要

流水线运行到此任务时,需要根据达到审批的通过条件后才能继续执行。 流水线实例默认最长运行时间为1天,超时后实例状态将会为失败。

审批

包含人工审批步骤的流水线运行后,审批人可在BizWorks控制台上处理审批任务。如下图所示:

image.png

执行命令

步骤:执行命令

image.png

支持的参数如下:

参数

说明

参数

说明

命令

  • 命令中您可以使用${变量名}的方式使用变量,变量会以占位符的方式在流水线运行时自动替换,例如:cd ${WORKDIR}。

  • 流水线实例的最长运行时间为1天,超时后实例状态将会为失败。

  • 在流水线实例运行日志会记录执行命令和执行结果,请谨慎使用敏感信息。

变量

支持系统变量和自定义变量两种类型:

  • 系统变量。系统默认提供,只能由系统赋值、不支持用户自定义内容。支持的系统变量如下:

    系统变量名

    说明

    系统变量名

    说明

    BW_TENANT_ID

    租户ID

    BW_USER_ID

    用户id

    BW_PROJECT_CODE

    项目编码

    BW_APPLICATION_CODE

    应用编码

    BW_DEPLOY_ENV_TYPE

    部署环境类型

    BW_ENVIRONMENT_CODE

    部署环境编码

    BW_PIPELINE_INSTANCE_CODE

    流水线实例编码

    BW_WORK_DIR

    工作目录

    BW_DATETIME

    时间

    BW_GIT_CHECKOUT_PARAMS_URL

    代码仓库地址

    说明

    仅流水线源=代码时可使用该变量

    BW_GIT_CHECKOUT_PARAMS_BRANCH

    代码分支

    说明

    仅流水线源=代码时可使用该变量

    BW_GIT_CHECKOUT_PARAMS_TAG

    代码Tag

    说明

    仅流水线源=代码时可使用该变量

    BW_GIT_CHECKOUT_PARAMS_COMMIT_ID

    代码CommitId

    说明

    仅流水线源=代码时可使用该变量。

    BW_DOCKER_BUILD_PARAMS_BUILD_OUTPUT_随机数

    制作镜像并推送至镜像仓库步骤的输出变量

    BW_PLATFORM_ARCH

    保存部署环境所在容器镜像节点的芯片架构,例如amd64、arm64,如果为空时则默认为amd64

    BW_DEPLOY_TARGET_ENV_PARAMS_IMAGE_URL

    镜像信息(含Tag)

    说明

    仅流水线源=镜像时可使用该变量

  • 自定义变量。用户可为自定义流水线创建运行时所需的自定义变量。自定义变量只能在流水线执行时的入参赋值,暂不支持运行过程中在步骤中赋值。

    您可在流水线设计器左侧的流水线变量面板中进行新建、修改和删除。

    新建自定义变量。单击流水线设计器页面左上角新增变量

    image.png

    支持的参数如下:

    参数

    说明

    参数

    说明

    变量名称

    默认随机生成,可按需调整。

    默认值

    • 可选参数,用于流水线运行前该自定义变量的默认填入值,给流水线使用者提供便利。

    • 设置方式为文本框时,默认值可填写String类型的内容。

    • 设置方式为下拉单选时,可选择某个备选值作为下拉单选框的默认选中。

    运行时设置

    • 默认不选中。该自定义变量不能在流水线运行前设置。

    • 选中后,支持在运行流水线前设置。

    设置方式

    • 用于确定使用者运行时的交互方式,目前支持文本框和下拉单选两种交互方式。

    • 下拉单选支持添加多个备选项。

    如果启用运行时设置的自定义变量,在流水线运行前的交互过程如下图所示:

    image.png

在流水线中使用变量:

  • 在步骤中支持使用两种类型的变量。

  • 使用方式为${变量名},变量会以占位符的方式在流水线运行时自动替换,例如:cd ${WORKDIR}

  • 本页导读 (1)
  • 主要操作过程
  • 支持的任务类型
  • 编译构建
  • 部署
  • 流水线控制
  • 执行命令
  • 变量
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等