使用 Azure CLI 管理管道
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
可以使用以下 az pipelines
命令管理组织中的管道:
- az pipelines run:运行现有管道
- az pipelines update:更新现有管道
- az pipelines show:显示现有管道的详细信息
这些命令要求提供你要管理的管道的名称或 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 文件在存储库中的路径。
全局参数包括 debug
、help
、only-show-errors
、query
、output
和 verbose
。
提示
还可以使用 --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
如何以编程方式创建生成管道?
注意
还可以使用 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 参考。