使用 Azure CLI 管理管道

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020

可以使用以下 az pipelines 命令管理组织中的管道:

这些命令要求提供你要管理的管道的名称或 ID。 可以使用 az pipelines list 命令获取管道的 ID。

若要开始,请参阅 Azure DevOps CLI 入门

运行管道

可以使用 az pipelines run 命令将现有管道排队(运行)。

az pipelines run [--branch]
                 [--commit-id]
                 [--folder-path]
                 [--id]
                 [--name]
                 [--open]
                 [--org]
                 [--project]
                 [--variables]

参数

  • branch:要在其中将管道运行排队的分支的名称,例如 refs/heads/main。
  • commit-id:管道运行要排队的提交 ID。
  • folder-path:管道的文件夹路径。 默认值为根级别文件夹。
  • id:如果未 提供名称 ,则为必需。 要排队的管道的 ID。
  • 名称:如果未提供 ID,则为必需,但如果提供 ID,则忽略。 要排队的管道的名称。
  • open:在 Web 浏览器中打开管道结果页。
  • org:Azure DevOps 组织 URL。 可以使用 配置默认组织 az devops configure -d organization=ORG_URL。 如果未配置为默认或使用 选取 git config,则为必需。 示例:--org https://dev.azure.com/MyOrganizationName/
  • 项目:项目的名称或 ID。 可以使用 配置默认项目 az devops configure -d project=NAME_OR_ID。 如果未配置为默认值或通过 git config 选取,则此参数是必需的。
  • variables:要设置的变量的空格分隔“名称=值”对列表。

示例

以下命令在分支 pipeline 中运行名为 myGithubname.pipelines-java 的管道,并以表格格式显示结果。

az pipelines run --name myGithubname.pipelines-java --branch pipeline --output table

Run ID    Number      Status      Result    Pipeline ID    Pipeline Name                Source Branch    Queued Time               Reason
--------  ----------  ----------  --------  -------------  ---------------------------  ---------------  --------------------------  --------
123       20200123.2  notStarted            12             myGithubname.pipelines-java  pipeline           2020-01-23 11:55:56.633450  manual

更新管道

可以使用 az pipelines update 命令更新现有管道。 若要开始,请参阅 Azure DevOps CLI 入门

az pipelines update [--branch]
                    [--description]
                    [--id]
                    [--name]
                    [--new-folder-path]
                    [--new-name]
                    [--org]
                    [--project]
                    [--queue-id]
                    [--yaml-path]

参数

  • branch:要在其中配置管道运行的分支的名称,例如 refs/heads/main。
  • description:管道的新说明。
  • id:如果未 提供名称 ,则为必需。 要更新的管道的 ID。
  • 名称:如果未 提供 ID ,则为必需。 要更新的管道的名称。
  • new-folder-path:管道要移动到的文件夹的新完整路径,例如 user1/production_pipelines。
  • new-name:管道的更新名称。
  • org:Azure DevOps 组织 URL。 可以使用 配置默认组织 az devops configure -d organization=ORG_URL。 如果未配置为默认或使用 选取 git config,则为必需。 示例:--org https://dev.azure.com/MyOrganizationName/
  • 项目:项目的名称或 ID。 可以使用 配置默认项目 az devops configure -d project=NAME_OR_ID。 如果未配置为默认值或通过 git config 选取,则此参数是必需的。
  • queue-id:需要在其中运行管道的代理池的队列 ID。
  • yaml-path:管道的 yaml 文件在存储库中的路径。

全局参数包括 debughelponly-show-errorsqueryoutputverbose

提示

还可以使用 --output 等全局参数。 --output 参数适用于所有命令。 table 值以友好格式显示输出。 有关详细信息,请参阅 Azure CLI 命令的输出格式

示例

以下命令使用新名称和说明更新 ID 为 12 的管道,并以表格格式显示结果。

az pipelines update --id 12 --description "rename pipeline" --new-name updatedname.pipelines-java --output table

ID    Name                        Status    Default Queue
----  --------------------------  --------  ------------------
12    updatedname.pipelines-java  enabled   Hosted Ubuntu 1604

显示管道

可以使用 az pipelines show 命令查看现有管道的详细信息。 若要开始,请参阅 Azure DevOps CLI 入门

az pipelines show [--folder-path]
                  [--id]
                  [--name]
                  [--open]
                  [--org]
                  [--project]
                  [--query-examples]
                  [--subscription]

参数

  • folder-path:管道的文件夹路径。 默认值为根级别文件夹。
  • id:如果未 提供名称 ,则为必需。 要显示其详细信息的管道的 ID。
  • 名称:如果未提供名称,则为必需,但如果提供 ID,则忽略。 要显示其详细信息的管道的名称。
  • open:在 Web 浏览器中打开管道摘要页。
  • org:Azure DevOps 组织 URL。 可以使用 配置默认组织 az devops configure -d organization=ORG_URL。 如果未配置为默认或使用 选取 git config,则为必需。 示例:--org https://dev.azure.com/MyOrganizationName/
  • 项目:项目的名称或 ID。 可以使用 配置默认项目 az devops configure -d project=NAME_OR_ID。 如果未配置为默认值或通过 git config 选取,则此参数是必需的。
  • query examples:推荐 JMESPath 字符串。
  • subscription:订阅的名称或 ID。 可以使用 az account set -s NAME_OR_ID 配置默认订阅。

示例

以下命令显示 ID 为 12 的管道的详细信息,并以表格格式返回结果。

az pipelines show --id 12 --output table

ID    Name                        Status    Default Queue
----  --------------------------  --------  ------------------
12    updatedname.pipelines-java  enabled   Hosted Ubuntu 1604

后续步骤

可以自定义管道,或详细了解如何以所选语言配置管道:

FAQ

如何以编程方式创建生成管道?

REST API 参考:创建生成管道

注意

还可以使用 Azure Pipelines CLI 从命令行或脚本管理生成和生成管道。

是否可以使用单个命令在 Azure DevOps Services 中运行多个管道?

目前,Azure CLI 和 Azure API 不提供用于从命令行运行多个管道的命令。 可以使用 Azure CLI 命令列出所有管道和定义,并提供单个发布或生成 ID 作为参数。 所有命令适用于独立管道的独立运行,并且需要唯一 ID 请求,这些请求只允许一个唯一值。 若要了解管道触发器,请参阅指定触发管道的事件

如何实现跳过管道运行中的阶段?

可以使用 az rest 命令使用 run pipeline Azure DevOps REST API 跳过管道运行中的阶段,并使用 stagesToSkip 参数。

例如:

az rest --method post `
    --uri https://dev.azure.com/{organization}/{project}/_apis/pipelines/{pipelineId}/runs?api-version=7.1-preview.1 `
    --body "{'stagesToSkip': [''], 'resources': {'repositories': {'self': {'refName': 'refs/heads/{branch}'}}}}" `
    --resource 499b84ac-1321-427f-aa17-267ca6975798

有关详细信息,请参阅 Azure DevOps Services REST API 参考