管理编排流水线

您可以使用 Google Cloud CLI 命令来管理部署到 Runner 环境的编排流水线。

部署环境简介

您的项目可以包含一个或多个部署环境。每个部署环境的配置都会定义属于该环境的流水线和资源的部署方式。例如,您可以设置一个用于开发的部署环境,以及另一个用于生产的部署环境。这些部署环境可以具有不同的流水线集,并在不同的 runner 环境中运行。

每个部署环境都必须有一个运行程序环境。Managed Airflow 是一种编排引擎,可在流水线部署后运行。运行器环境是指您已分配给部署环境的托管式 Airflow 环境

流水线软件包简介

编排流水线部署在流水线软件包中。流水线软件包包含一个或多个共享共同部署周期的流水线和流水线资产。

每个软件包都可以有多个版本。部署软件包时,特定版本软件包中的所有流水线和随附脚本都会一起部署。如果流水线运行已触发,即使您在此期间部署了新版本,所有流水线和流水线资源仍将保持在用于启动运行的软件包版本。

查看流水线列表

如需查看部署环境中的编排流水线列表,请在 deployment.yaml 文件所在的目录中运行以下 Google Cloud CLI 命令:

gcloud beta orchestration-pipelines list \
  --environment DEPLOYMENT_ENVIRONMENT \
  --bundle BUNDLE_NAME \
  --owner OWNER_NAME

替换以下内容:

  • DEPLOYMENT_ENVIRONMENT:列出指定部署环境中的流水线。

    或者,您也可以针对特定运行程序环境运行此命令。在这种情况下,请将 --environment 参数替换为 --runner 参数,并指定 runner 环境的完整资源 ID。示例: //composer.googleapis.com/projects/example-project/locations/us-central1/environments/example-runner-environment

  • (可选)BUNDLE_NAME:列出属于指定软件包的流水线。

  • (可选)OWNER_NAME:如果指定,则列出属于指定所有者的流水线。

示例:

gcloud beta orchestration-pipelines list \
  --environment example-deployment-environment \
  --bundle example-pipeline-bundle \
  --owner example-pipeline-owner

查看流水线的详细说明

如需查看特定流水线的说明,请在 gcloud CLI 中运行以下命令:

gcloud beta orchestration-pipelines describe \
  --environment DEPLOYMENT_ENVIRONMENT \
  --bundle BUNDLE_NAME \
  --pipeline PIPELINE_NAME

替换以下内容:

  • DEPLOYMENT_ENVIRONMENT:流水线的部署环境。

    或者,您也可以针对特定运行程序环境运行此命令。在这种情况下,请将 --environment 参数替换为 --runner 参数,并指定 runner 环境的完整资源 ID。示例: //composer.googleapis.com/projects/example-project/locations/us-central1/environments/example-runner-environment

  • BUNDLE_NAME:流水线所属的软件包。

  • PIPELINE_NAME:流水线的名称。

示例:

gcloud beta orchestration-pipelines list \
  --bundle example-pipeline-bundle \
  --pipeline example-pipeline \
  --environment example-deployment-environment

部署流水线软件包

此命令会根据提供的部署配置来部署流水线软件包和流水线资源。在运行此命令之前,请确保您已配置流水线部署

如需为部署环境部署流水线软件包,请执行以下操作:

  • 部署已提交的更改:将更改提交到流水线资源、流水线定义和部署配置后,您可以将新版本的流水线软件包部署到运行程序环境。新软件包的 ID 将与您代码库中的提交相关联。此部署类型通常旨在作为 CI/CD 的一部分运行。例如,通过 GitHub Actions 工作流。
  • 部署本地软件包版本:部署流水线资产、流水线定义和部署配置的当前版本。新软件包 ID 将标记为本地部署。此部署类型适用于开发目的。

如需部署已提交的更改,请在 gcloud CLI 中运行以下命令:

gcloud beta orchestration-pipelines deploy \
  --environment DEPLOYMENT_ENVIRONMENT \

如需部署本地版本,请使用 --local 实参:

gcloud beta orchestration-pipelines deploy \
  --environment DEPLOYMENT_ENVIRONMENT \
  --local

替换以下内容:

  • DEPLOYMENT_ENVIRONMENT:流水线的部署环境。

示例:

gcloud beta orchestration-pipelines deploy \
  --environment example-deployment-environment

示例输出包含部署状态。

--- Pipeline Deployment Status ---
Pipeline 'example-pipeline': [OK] (Status: HEALTHY)

--- Pipeline Deployment full details ---
...

手动触发流水线运行

您可以手动触发特定编排流水线的运行:

  • 在触发流水线之前,流水线软件包必须已部署

  • 您只能触发软件包中流水线的最新部署版本。运行触发后,流水线将始终以启动时所用的软件包版本执行其所有任务,即使您在此期间上传了更新的软件包版本也是如此。

如需触发手动运行,请在 gcloud CLI 中执行以下命令:

gcloud beta orchestration-pipelines trigger \
  --environment DEPLOYMENT_ENVIRONMENT \
  --bundle BUNDLE_NAME \
  --pipeline PIPELINE_NAME

替换以下内容:

  • DEPLOYMENT_ENVIRONMENT:流水线的部署环境。

    或者,您也可以针对特定运行程序环境运行此命令。在这种情况下,请将 --environment 参数替换为 --runner 参数,并指定 runner 环境的完整资源 ID。示例: //composer.googleapis.com/projects/example-project/locations/us-central1/environments/example-runner-environment

  • BUNDLE_NAME:流水线所属的软件包。

  • PIPELINE_NAME:流水线的名称。

示例:

gcloud beta orchestration-pipelines trigger \
  --environment example-deployment-environment \
  --bundle example-pipeline-bundle \
  --pipeline example-pipeline

列出流水线的运行历史记录

如需查看单个编排流水线的运行历史记录(包括所有先前流水线版本的运行),请在 gcloud CLI 中运行以下命令:

gcloud beta orchestration-pipelines runs list \
  --environment DEPLOYMENT_ENVIRONMENT \
  --bundle BUNDLE_NAME \
  --pipeline PIPELINE_NAME

替换以下内容:

  • DEPLOYMENT_ENVIRONMENT:流水线所在的部署环境。

    或者,您也可以针对特定运行程序环境运行此命令。在这种情况下,请将 --environment 参数替换为 --runner 参数,并指定 runner 环境的完整资源 ID。示例: //composer.googleapis.com/projects/example-project/locations/us-central1/environments/example-runner-environment

  • BUNDLE_NAME:流水线所属的软件包。

  • PIPELINE_NAME:流水线的名称。

示例:

gcloud beta orchestration-pipelines runs list \
  --environment example-deployment-environment \
  --bundle example-pipeline-bundle \
  --pipeline example-pipeline

列出流水线运行详情

如需查看单个编排流水线运行的详细信息,请在 gcloud CLI 中运行以下命令:

gcloud beta orchestration-pipelines runs describe \
  --environment DEPLOYMENT_ENVIRONMENT \
  --bundle BUNDLE_NAME \
  --pipeline PIPELINE_NAME \
  --run-id RUN_ID

替换以下内容:

  • DEPLOYMENT_ENVIRONMENT:流水线所在的部署环境。

    或者,您也可以针对特定运行程序环境运行此命令。在这种情况下,请将 --environment 参数替换为 --runner 参数,并指定 runner 环境的完整资源 ID。示例: //composer.googleapis.com/projects/example-project/locations/us-central1/environments/example-runner-environment

  • BUNDLE_NAME:流水线所属的软件包。

  • PIPELINE_NAME:流水线的名称。

  • RUN_ID:流水线运行的标识符。您可以从运行列表中获取此 ID。

示例:

gcloud beta orchestration-pipelines runs describe \
  --environment example-deployment-environment \
  --bundle example-pipeline-bundle \
  --pipeline example-pipeline \
  --run-id scheduled__2026-04-20T02:00:00+00:00

输出示例:

pipelineRuns:
- actions:
  - end_date: '2026-04-21T02:02:31.947672Z'
    execution_date: '2026-04-20T02:00:00Z'
    max_retries: 1
    metadata:
      airflow_dag_id: example-pipeline-bundle__v__33816e2690e93d03ee7b67d16765d9825549636c__example-pipeline
      airflow_task_instances:
      - end_date: '2026-04-21T02:02:31.947672Z'
        execution_date: '2026-04-20T02:00:00Z'
        max_retries: 1
        name: new_pyspark_task_1775735209136
        start_date: '2026-04-21T02:00:17.256040Z'
        state: SUCCEEDED
        try_number: 1
    name: new_pyspark_task_1775735209136
    start_date: '2026-04-21T02:00:17.256040Z'
    state: SUCCEEDED
    try_number: 1
  bundle_id: example-pipeline-bundle
  end_date: '2026-04-21T02:02:32.455241Z'
  execution_date: '2026-04-20T02:00:00Z'
  metadata:
    airflow_dag_id: example-pipeline-bundle__v__33816e2690e93d03ee7b67d16765d9825549636c__example-pipeline
  pipeline_id: example-pipeline
  pipeline_run_id: scheduled__2026-04-20T02:00:00+00:00
  start_date: '2026-04-21T02:00:00.952825Z'
  state: SUCCEEDED
  type: SCHEDULED
  version: 33816e2690e93d03ee7b67d16765d9825549636c

暂停已安排的流水线运行

暂停后,流水线将不会按其时间表运行。您可以为此类流水线触发手动流水线运行。这样做会使流水线保持暂停状态,并会在计划之外创建手动流水线运行。取消暂停流水线以启用其时间表。

如需暂停所有已安排的流水线运行,请在 gcloud CLI 中运行以下命令:

gcloud beta orchestration-pipelines pause \
  --environment DEPLOYMENT_ENVIRONMENT \
  --bundle BUNDLE_NAME \
  --pipeline PIPELINE_NAME \

替换以下内容:

  • DEPLOYMENT_ENVIRONMENT:流水线所在的部署环境。

    或者,您也可以针对特定运行程序环境运行此命令。在这种情况下,请将 --environment 参数替换为 --runner 参数,并指定 runner 环境的完整资源 ID。示例: //composer.googleapis.com/projects/example-project/locations/us-central1/environments/example-runner-environment

  • BUNDLE_NAME:流水线所属的软件包。

  • PIPELINE_NAME:流水线的名称。

示例:

gcloud beta orchestration-pipelines pause \
  --environment example-deployment-environment \
  --bundle example-pipeline-bundle \
  --pipeline example-pipeline

取消暂停已调度的流水线运行

如需取消暂停已调度的流水线运行,请在 gcloud CLI 中运行以下命令:

gcloud beta orchestration-pipelines unpause \
  --environment DEPLOYMENT_ENVIRONMENT \
  --bundle BUNDLE_NAME \
  --pipeline PIPELINE_NAME \

替换以下内容:

  • DEPLOYMENT_ENVIRONMENT:流水线所在的部署环境。

    或者,您也可以针对特定运行程序环境运行此命令。在这种情况下,请将 --environment 参数替换为 --runner 参数,并指定 runner 环境的完整资源 ID。示例: //composer.googleapis.com/projects/example-project/locations/us-central1/environments/example-runner-environment

  • BUNDLE_NAME:流水线所属的软件包。

  • PIPELINE_NAME:流水线的名称。