Azure Devops - 无法构建从 vs2017-win2016 到 windows-latest 的管道代理

Posted

技术标签:

【中文标题】Azure Devops - 无法构建从 vs2017-win2016 到 windows-latest 的管道代理【英文标题】:Azure Devops - Cannot build pipeline agent from vs2017-win2016 to windows-latest 【发布时间】:2021-12-21 07:58:42 【问题描述】:

在我的管道运行后,它给了我下面的警告。

##[warning]The windows-2016 environment will be deprecated on November 15, 2021, 
and removed on March 15, 2022. Migrate to windows-latest instead. 
For more details see https://github.com/actions/virtual-environments/issues/4312

看到该警告后,我尝试将代理规范从 vs2017-win2016 更改为 windows-latest。但是代理规范下拉菜单中没有 windows-latest 选项。

所以,我认为我可以从管道 yaml 文件中更改它。但我无法在 yaml 编辑器上编辑我的管道。因为编辑页面仅以 UI 编辑器格式显示,如下图所示。

我的问题是,如何打开 yaml 文件格式的管道编辑页面? 如果不允许这样做,我该如何为代理规范选择 windows-latest 选项?

【问题讨论】:

【参考方案1】:

在 YAML 管道中,有一些神奇的代理池别名可让您使用受支持的映像。 windows-latestubuntu-latest 等。在基于 UI 的管道中,这些别名不存在,因此您需要手动选择更新的图像。

您可以track the evolution of the images on GitHub1,其中还列出了可用的图像以及*latest 指向的内容(截至 2021 年 11 月 8 日):

1) GitHub Actions 和 Azure Pipelines 使用相同的底层映像。

只需在您的 UI 管道中选择其中任何一个,然后点击 Save

【讨论】:

【参考方案2】:

屏幕截图中的管道不是 YAML 管道,而是Classic pipeline。

在 YAML 管道允许您选择 *-latest 代理规范的地方,这些经典管道仅允许您选择特定的构建代理操作系统。

要从经典管道迁移到 YAML 管道,请参阅 Migrate your Classic pipeline to YAML 。

【讨论】:

或者暂时选择Windows 2019。这是windows-latest 所指的。

以上是关于Azure Devops - 无法构建从 vs2017-win2016 到 windows-latest 的管道代理的主要内容,如果未能解决你的问题,请参考以下文章

从 Azure DevOps 管道启动适用于 VS 2019 的开发人员 PowerShell

Azure Pipelines 托管代理无法访问 DevOps 项目源

无法从部署中心为 Dotnet core 3.1 配置 CI 构建。有啥方法可以设置 CI Azure DevOps

Azure Visual Studio 2019 无法推送到 Azure DevOps Git

如何以编程方式从 Azure DevOps 下载最新的构建工件?

Azure Devops构建SSIS任务