Azure Pipelines - Sprint 187 更新

Features

更改 Microsoft 托管的 Ubuntu 代理上的 .NET SDK 预安装策略

我们正在更改预安装在 Microsoft 托管的 Ubuntu 代理上的 .NET SDK 版本。 目前,我们将安装 .NET SDK 的所有可用和支持版本(2.1.x、3.1.x、5.0.x)。 此方法将发生更改,以支持为每个功能版本安装最新的修补程序版本。 进行此更改是为了为你提供更多可用空间和新的工具请求。

它意味着什么?

SDK 版本由以下部分组成: x.y.znn z 是功能版本, nn 是修补程序版本。 例如,对于 2.1.302,功能版本为 3,02 是修补程序版本。 根据新方法,我们将仅为每个功能版本安装最新的修补程序版本,也就是说,仅安装 2.1.302 版本用于 2.1.3x 版本,仅安装 2.1.403 版本用于 2.1.4x 版本,以此类推。 所有不是最新修补程序版本的 .NET SDK 版本都将在 6 月 14 日从 Ubuntu 映像中删除。 此更改会影响 Microsoft 托管代理上 Ubuntu 的所有版本。

目标日期

更新映像的部署将从 6 月 14 日开始,需要 3-4 天。

可能的影响

如果使用 global.json 文件,构建将在以下情况下受到影响:

如果 global.json 文件包含 rollForward: disable 的属性和 SDK 版本不是最新修补程序版本,则生成将失败。 例如:

{
  "sdk": {
    "version": "3.1.100",
    "rollForward": "disable"
  }
}

如果 global.json 文件包含 rollForward: patch 该属性,.NET SDK 版本将自动更改为最新的修补程序。 例如:

{
  "sdk": {
    "version": "3.1.100",
    "rollForward": "patch"
  }
}

rollForward如果在 global.json 文件中未指定该字段,则不会更改。 使用最近安装的修补程序级别。

如果需要使用非最新补丁版本的确切 .NET SDK,请使用 UseDotNet 任务 将其安装为构建过程的一部分。

steps:
- task: UseDotNet@2
  displayName: 'Use .NET Core sdk'
  inputs:
    version: <dotnet version>

变量组和安全文件的权限和检查

可以在 YAML 管道中使用不同类型的 共享资源 。 示例包括服务连接、变量组、安全文件、代理池、环境或存储库。 为了保护管道访问资源,资源所有者可以配置权限并检查该资源。 每次管道尝试访问资源时,都会评估所有配置的权限和检查。 这些保护已在服务连接、环境和代理池上提供一段时间。 它们最近已添加到 存储库。 在此版本中,我们将向变量组和安全文件添加相同的保护。

若要将对变量组或安全文件的访问权限限制为一小部分管道,请使用 Pipelines 权限 功能。

我的机密变量

若要配置每次运行管道时应评估的检查或审批,请使用 审批并检查库 功能。

添加审核审批

YAML 编辑器中支持模板的预览

模板是 YAML 管道中常用的功能。 它们是共享管道代码片段的一种简单方法。 它们也是通过管道验证或强制 实施安全和治理 的强大机制。

Azure Pipelines 支持 YAML 编辑器,可在编辑管道时方便使用。 以前,编辑器不支持模板。 使用模板时,YAML 管道的作者无法获得 Intellisense 帮助。 在此版本中,我们将预览对 YAML 编辑器中的模板的支持。 若要启用此预览,请导航到 Azure DevOps 组织中的预览功能,并启用 YAML 模板编辑器

在预览功能中启用 YAML 模板编辑器

在编辑 Azure Pipelines YAML 主文件时,可以包含或扩展模板。 键入模板名称时,系统会提示你验证模板。 验证后,YAML 编辑器会了解模板的架构,包括输入参数。

YAML 模板

验证后,可以选择导航到模板。 你将能够使用 YAML 编辑器的所有功能对模板进行更改。

请注意,此功能为预览版。 有已知的限制,其中一些我们正在努力解决。 如果模板中的必需参数未在 YAML 主文件中作为输入提供,则验证将会失败并提示你提供这些输入。 在理想的体验中,验证不应被阻止,并且应该能够使用 Intellisense 填写输入参数。 此外,不能从编辑器创建新模板。 只能使用或编辑现有模板。

Ubuntu-16.04 将于 2021 年 9 月从 Microsoft 托管池中删除

Ubuntu 16.04 由 Canonical 提供的 5年传统支持 将于 2021 年 4 月结束。 为了保持环境更新和保护,我们将在 2021 年 9 月 20 日删除 Ubuntu 16.04。

需要将 ubuntu-16.04 工作流迁移到 ubuntu-18.04 或 ubuntu-latest,该工作流将在 Ubuntu 20.04 LTS 上运行。

为了确保每个人都知道这一变化,我们计划了两次短暂的限电。 任何 Ubuntu 16.04 内部版本都将在淘汰期间失败。 因此,建议在 2021 年 9 月 6 日之前迁移管道。

以下日期和时间的限电计划已暂定。 我们将在接近此时间段时更新这些时间。

2021 年 9 月 6 日下午 5:00 UTC – 晚上 10:00 UTC

2021 年 9 月 14 日 5:00 UTC – 晚上 10:00 UTC

后续步骤

注释

这些功能将在未来两到三周内推出。

请去 Azure DevOps 上看看。

如何提供反馈

我们很乐意听到你对这些功能的看法。 使用帮助菜单报告问题或提供建议。

提出建议

你还可以在 Stack Overflow 上获取社区的建议和问题解答。