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-latest
、ubuntu-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