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

持续交付

复制全文
下载 pdf
组件列表
资源部署
复制全文
下载 pdf
资源部署
部署类组件用于将构建产物发布到目标运行环境,支持 Kubernetes、ECS、FaaS、应用交付等多种部署场景。​
Kubernetes 镜像升级​
在 Kubernetes 集群中更新指定工作负载的容器镜像。通过连接到指定的 deployResource,找到匹配的 app.name 和 containerName,将其镜像地址更新为新版本。​
  • 组件:kubernetes-update-image@1.0.0​
  • 参数:​
  • ​
    参数​
    数据类型​
    是否必填​
    默认值​
    说明​
    app.kind​
    enum​
    是​
    Deployment​
    工作负载类型。​
    • Deployment:无状态应用部署,弹性扩缩容滚动更新。​
    • StatefulSet:有状态应用,稳定网络与持久存储。​
    • DaemonSet:守护进程,每节点自动运行实例。​
    • CronJob:定时任务调度,按周期自动执行作业。​
    app.name​
    string​
    是​
    -​
    待更新的工作负载名称。​
    containerName​
    string​
    是​
    -​
    待更新镜像的容器名称。​
    deployImage.type​
    enum​
    是​
    Custom​
    镜像来源类型。​
    • Custom:手动指定镜像地址。​
    • Output:引用上游产物。​
    deployImage.content​
    string​
    是​
    -​
    镜像地址。当 type 为 Output 时,填写上游产物引用表达式。​
    deployResource​
    string​
    是​
    -​
    部署资源的 ID。查看部署资源 ID 的方式参见 查看部署资源。​
    namespace​
    string​
    是​
    -​
    工作负载所在的 Kubernetes 命名空间。​
    timeout​
    duration​
    是​
    30m​
    镜像升级操作的超时时间。默认 2h,支持 m(分钟)、h(小时)和 d(天)单位,最大不超过 3天。​
    ​
  • 示例:​
  • ​
    tasks:​
    - task: task-update-image-custom​
    displayName: "Kubernetes Image Update (Custom)"​
    component: kubernetes-update-image@1.0.0​
    inputs:​
    app:​
    kind: Deployment​
    name: my-app-backend​
    containerName: backend-server​
    deployImage:​
    type: Custom​
    content: "registry.example.com/my-app/backend:v1.2.0"​
    deployResource: "k8s-cluster-prod"​
    namespace: "production"​
    timeout: 30m​
    ​
Kubernetes 分批发布​
注意​
当前仅支持 Deployment 类型。​
对 Kubernetes Deployment 类型的应用进行分批发布。允许定义发布批次、每批实例比例及批次间等待时间,实现平滑、可控的线上变更。​
  • 组件:rolling-update-image@1.0.0​
  • 参数:​
  • ​
    参数​
    数据类型​
    是否必填​
    默认值​
    说明​
    app.kind​
    enum​
    是​
    Deployment​
    工作负载类型,固定为 Deployment。​
    app.name​
    string​
    是​
    -​
    待更新的 Deployment 名称。​
    containerName​
    string​
    是​
    -​
    待更新镜像的容器名称。​
    deployImage.type​
    enum​
    是​
    Custom​
    镜像来源类型。​
    • Custom:自定义镜像。​
    • Output:上游产出。​
    deployImage.content​
    string​
    是​
    -​
    镜像地址或上游产物引用。​
    deployResource​
    string​
    是​
    -​
    部署资源的 ID。查看部署资源 ID 的方式参见 查看部署资源。​
    namespace​
    string​
    是​
    -​
    工作负载所在的 Kubernetes 命名空间。​
    deployStrategy.ratio​
    list​
    是​
    -​
    每批发布的 Pod 比例,所有元素总和必须为 100。例如 [20, 80] 表示第一批 20%,第二批 80%。​
    deployStrategy.round​
    int​
    是​
    -​
    发布总批次,必须与 ratio 列表长度相等。例如,ratio 为 [20, 80] ,表示分两批,则 round 为 2。​
    deployStrategy.waitTime​
    int​
    是​
    300​
    每批发布完成后到下一批开始前的等待时间,单位为秒,取值范围 1~7200。​
    ​
  • 示例:​
  • ​
    tasks:​
    - task: task-rolling-update​
    displayName: "Service A Rolling Update (50/50)"​
    component: rolling-update-image@1.0.0​
    inputs:​
    app:​
    kind: Deployment​
    name: service-a​
    containerName: main-container​
    deployImage:​
    type: Custom​
    content: "registry.example.com/my-org/service-a:1.5.0"​
    deployResource: "k8s-cluster-prod"​
    namespace: "production"​
    deployStrategy:​
    ratio:​
    - 50​
    - 50​
    round: 2​
    waitTime: 300​
    ​
ECS 运维​
在指定的 ECS(弹性计算服务)实例上执行自定义命令或脚本。支持 Shell 和 Python 脚本,可选择性地将上游制品下载到目标实例后再执行命令。​
  • 组件:ecs-ops@1.0.0​
  • 参数:​
  • ​
    参数​
    数据类型​
    是否必填​
    默认值​
    说明​
    cmd.type​
    enum​
    是​
    Shell​
    命令类型,Shell / Python。​
    cmd.value​
    string​
    是​
    -​
    待执行的脚本内容。​
    region​
    enum​
    是​
    -​
    ECS 实例所在地域。​
    instances​
    list​
    是​
    -​
    ECS 实例 ID 列表,如 i-xxxx。支持多个实例并行执行。​
    path​
    string​
    是​
    -​
    命令在 ECS 实例上执行的路径。​
    user​
    string​
    是​
    root​
    执行命令的操作系统用户。​
    timeout​
    duration​
    是​
    2h​
    命令执行的超时时间。默认 2h,支持 m(分钟)、h(小时)和 d(天)单位,最大不超过 3天。​
    artifact.path​
    string​
    否​
    -​
    制品在 ECS 实例上存放的绝对路径。​
    说明​
    如果提供 artifact,则 path 和 source 都必须填写。​
    artifact.source​
    string​
    否​
    -​
    上游产物的引用表达式。​
    ​
  • 示例:​
  • ​
    tasks:​
    - task: task-ecs-shell​
    displayName: "ECS Ops: Execute Shell Script"​
    component: ecs-ops@1.0.0​
    inputs:​
    cmd:​
    type: Shell​
    value: |-​
    #!/bin/bash​
    echo "hello"​
    instances:​
    - i-ydy6itps74cva4fn****​
    - i-ydy6itps74cva4fn****​
    path: "/home"​
    region: "cn-beijing"​
    timeout: 5m​
    user: "root"​
    ​
函数部署​
将代码包或容器镜像部署为函数计算平台上的新版本。支持全量发布和灰度发布两种策略。​
  • 组件:faas-deploy@1.0.0​
  • 参数:​
  • ​
    参数​
    数据类型​
    是否必填​
    默认值​
    说明​
    region​
    enum​
    是​
    -​
    函数所在地域。​
    functionId​
    string​
    是​
    -​
    待部署的函数 ID。​
    functionVersion​
    string​
    是​
    -​
    此次部署要创建的函数版本号。最新版本填写 0。​
    deployPolicy.type​
    enum​
    是​
    full​
    部署策略。​
    • full:全量发布。​
    • canary:灰度发布。​
    deployPolicy.ratio​
    int​
    否​
    -​
    灰度流量比例,范围 1~99。当 deployPolicy.type 为 canary 时必填。​
    artifact.mode​
    enum​
    是​
    output​
    制品来源模式。​
    • output:引用上游产物。​
    • custom:用户自定义。​
    artifact.type​
    enum​
    是​
    tos​
    制品类型。​
    • tos:对象存储文件,例如 demo.zip。​
    • image:容器镜像。​
    artifact.value​
    string​
    是​
    -​
    制品的具体值。​
    • mode 为output:上游引用表达式。​
    • mode 为custom:自定义地址。​
    ​
  • 示例:​
  • ​
    tasks:​
    - task: task-faas-deploy-full​
    displayName: "FaaS Full Deploy"​
    component: faas-deploy@1.0.0​
    inputs:​
    region: "cn-beijing"​
    functionId: "my-awesome-func"​
    functionVersion: "0"​
    deployPolicy:​
    type: full​
    artifact:​
    mode: output​
    type: tos​
    value: "$(stages.build.tasks.zip.outputs.tosOutput_step-1)"​
    ​
应用部署​
通过应用交付(AppDeliver)平台部署各类应用的通用组件。支持 K8sYaml 和 Managed 两种应用类型,将指定制品部署到目标环境。​
  • 组件:appdeliver-deploy@1.0.0​
  • 参数:​
  • ​
    参数​
    数据类型​
    是否必填​
    默认值​
    说明​
    app​
    string​
    是​
    -​
    要部署的应用在应用交付平台上的唯一标识。​
    appType​
    enum​
    是​
    -​
    应用类型。​
    • K8sYaml:K8sYaml 应用。​
    • Managed:托管应用。​
    env​
    string​
    是​
    -​
    目标环境名称,例如 dev (测试环境)、staging(预发环境)、prod(生产环境)。​
    timeout​
    duration​
    是​
    30m​
    部署操作的超时时间。默认 2h,支持 m(分钟)、h(小时)和 d(天)单位,最大不超过 3天。​
    deployStrategy​
    string​
    是​
    RollingUpdate​
    部署策略,当前仅支持 RollingUpdate 分批滚动发布。​
    versionNumber​
    string​
    否​
    当前时间戳​
    本次部署的版本号。​
    说明​
    appType 取值为 Managed 时必填。​
    appStack​
    string​
    否​
    -​
    托管应用的类型,可选 Java / Other。​
    说明​
    appType 取值为 Managed 时必填。​
    artifactList​
    list​
    否​
    -​
    要部署的制品列表。​
    • type:制品的来源。​
    • Custom:手动指定制品。​
    • Output:引用上游产物。​
    • artifact:制品的具体值。​
    • type 为 Custom:制品的地址。​
    • type 为 Output:上游引用表达式.​
    • placeholderName:制品在应用模板中对应的占位符名称。​
    • appType 为 K8sYaml 时,默认值为 image.backend。​
    • appType 为 Managed时,默认值为 Image。​
    ​
  • 示例:​
  • ​
    tasks:​
    - task: appdeliver-deploy-1​
    displayName: App Deploy​
    component: appdeliver-deploy@1.0.0​
    inputs:​
    app: k8syaml​
    appType: K8sYaml​
    artifactList:​
    - artifact: $(stages.exec-cmd.tasks.exec-cmd.outputs.imageOutput_step-c14)​
    placeholderName: image.backend​
    type: Output​
    deployStrategy: RollingUpdate​
    env: dev1​
    timeout: 30m​
    ​
  • ​
最近更新时间:2026.05.11 11:33:37
这个页面对您有帮助吗?
有用
有用
无用
无用