使用 Azure DevOps CLI 管理管道

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

本文介绍如何使用以下 az pipelines 命令管理 Azure DevOps 项目中的现有管道:

注意

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 参数,例如debughelponly-show-errorsqueryoutputverbose。 全局 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该组织和项目选取,则必须在每个命令中指定 orgproject 参数。

列出现有管道

runshowdelete 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 命令。 例如,以下命令显示管道ID12的详细信息,并在 Web 浏览器中打开管道摘要页。

az pipelines show --id 12 --open

有关完整的命令参考,请参阅 az pipelines show

运行管道

若要对现有管道进行排队和运行,请使用 az pipelines run 命令。 可以在运行中设置 parameters 和使用 variables

例如,以下命令在分支中使用 运行管道namemyGithubname.pipelines-java,将变量var1的值设置为100运行,并输出格式的结果tablepipeline

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 命令。 例如,以下命令使用id12新的名称和说明更新管道,并输出表格式的结果。

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 配合使用。