使用 Azure DevOps CLI 管理管道
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
本文介绍如何使用以下 az pipelines 命令管理 Azure DevOps 项目中的现有管道:
- az pipelines list to list pipelines in a project
- az pipelines show to show the details of a pipeline
- az pipelines run to run a pipeline
- az pipelines update to update a pipeline
- az pipelines delete to delete a pipeline
注意
Azure DevOps CLI 扩展仅适用于 Azure DevOps Services,不支持任何版本的 Azure DevOps Server。
Azure DevOps CLI 扩展
命令az-pipelines
组是 Azure CLI 的 DevOps 扩展的一部分,需要 Azure CLI 2.30.0 或更高版本。 首次运行 azure pipelines
命令时,Azure DevOps 扩展会自动安装。 有关入门的详细信息,请参阅 Azure DevOps CLI 入门。
还可以在 Azure DevOps CLI 命令中使用全局 Azure CLI 参数,例如debug
、help
、only-show-errors
query
、output
和verbose
。 全局 table
参数的值 --output
以友好格式显示输出。 有关详细信息,请参阅 Azure CLI 命令的输出格式。
可以使用 Azure az devops configure --defaults organization=<YourOrganizationURL>
DevOps CLI 命令设置默认的 Azure DevOps 组织,或使用 --detect true
参数自动检测组织。 可以使用 配置默认的 Azure DevOps 项目 az devops configure -d project=<Project Name or ID>
。
如果不检测组织或配置默认组织或项目,或者通过 git config
该组织和项目选取,则必须在每个命令中指定 org
和 project
参数。
列出现有管道
run
和 show
delete
update
管道命令需要name
要管理的管道或id
管道。 如果使用 id
,则 name
忽略参数。 若要获取项目管道的列表(包括其 ID),请使用 az pipelines list 命令。 可以使用参数筛选或设置结果列表的格式。
例如,以下命令以表格式列出名称以 python*
表格式开头的项目管道。
az pipelines list --name python* --output table
输出:
ID Path Name Status Default Queue
---- ------ -------------------------- -------- ---------------
17 \ python-sample-vscode-flask disabled Azure Pipelines
24 \ python-sample-get-started enabled Azure Pipelines
有关完整的命令参考,请参阅 az pipelines list。
显示管道的详细信息
若要查看现有管道的详细信息,请使用 az pipelines show 命令。 例如,以下命令显示管道ID
12
的详细信息,并在 Web 浏览器中打开管道摘要页。
az pipelines show --id 12 --open
有关完整的命令参考,请参阅 az pipelines show。
运行管道
若要对现有管道进行排队和运行,请使用 az pipelines run 命令。 可以在运行中设置 parameters
和使用 variables
。
例如,以下命令在分支中使用 运行管道name
myGithubname.pipelines-java
,将变量var1
的值设置为100
运行,并输出格式的结果table
。pipeline
az pipelines run --name myGithubname.pipelines-java --branch pipeline --variables var1=100 --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 run。
更新管道
若要更新现有管道,请使用 az pipelines update 命令。 例如,以下命令使用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 update。
删除管道
若要删除管道,请运行 az-pipelines-delete 命令。 例如,以下命令删除 ID 为 12
的管道,并且不会提示进行确认。 如果未包含参数 --yes
,则默认情况下会提示进行确认。
az pipelines delete --id 12 --yes
有关完整的命令参考,请参阅 az pipelines delete。
以编程方式创建和配置管道
若要使用 Azure DevOps CLI 创建 YAML 管道,请参阅 az pipelines create。 若要在 YAML 管道中运行 Azure CLI 命令,请参阅 Azure Pipelines YAML 中的 Azure DevOps CLI。
可以创建 YAML 管道,以选择的语言生成、配置、测试和部署应用。 有关详细信息,请参阅以下文章:
Azure DevOps Services REST API
可以使用 REST API 生成与 Azure DevOps 集成的自定义应用程序或服务,以便进行直接 HTTP 调用。 有关详细信息,请参阅 Azure DevOps Services REST API 参考。 还可以使用这些 API 的 客户端库 。
跳过管道运行中的阶段
可以将 az rest 命令与运行管道 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 REST API 与 Azure CLI 配合使用。