如何通过VS Code在Azure DevOps YAML文件中添加和验证自定义生成任务

问题描述

我有包含构建任务的Azure DevOps自定义扩展。我试图在我的代码库中配置/编辑YAML文件,并通过VS Code将我的自定义生成任务添加到其中。我正在使用Microsoft VS Code扩展名docs-yaml扩展名来验证我的YAML文件

正如您在下图中看到的,Microsoft Build模板中可用的所有构建任务都已成功验证,没有任何问题。但是它无法验证我的构建任务sampletask @ 3。据我了解,YAML文件正在针对称为管道模式的文件进行验证。我在以下位置找到了该架构文件 https://raw.githubusercontent.com/microsoft/azure-pipelines-vscode/v1.174.2/service-schema.json

  1. 如何/是否可以将我的构建任务详细信息添加到管道模式文件中?
  2. 如果以上操作均不可行,有什么方法可以成功验证VS Code中的构建任务?

请参考下图。

cannot validate my task

引用:

解决方法

如何通过VS Code在Azure DevOps YAML文件中添加和验证自定义生成任务

我无法使用扩展名docs-yaml重现此问题。

然后,我测试另一个常用的扩展名Azure Pipelines,就可以像您一样重现此问题。因此,我大胆地假定此验证应来自扩展的Azure Pipelines。您可以检查是否已在Visual Studio代码中安装了此扩展程序。

安装该扩展程序并重新启动VS Code后,我可以看到验证信息:

enter image description here

要解决此问题,我们可以继续处理文档Azure Pipelines for VS Code

开箱即用,扩展名具有通用架构文件,该文件包括 仅收件箱任务。您可能已在其中安装了自定义任务 组织。要教授这些扩展程序,请获取您的副本 模式,并告诉扩展程序在哪里找到它。

  1. 访问 https://dev.azure.com/YOU-ORG-HERE/_apis/distributedtask/yamlschema 并将输出另存为my-schema.json
  2. 编辑工作区的 settings.json包含以下内容:{
    "[azure-pipelines].customSchemaFile": "./path/to/my-schema.json"
  3. 重新启动VS代码。现在,扩展将针对您的架构进行验证。 它将为您提供自定义任务的自动完成功能。

第二步的详细步骤:

单击VS代码左下角的齿轮按钮Manage-> Settings,然后单击“工作区”->“扩展”->“ Azure”管道:

enter image description here

enter image description here

我将yamlschema.json文件保存在settings.json所在的文件夹中。

重新启动VS Code之后,我可以在VS Code中成功验证该构建任务:

enter image description here