Azure Pipelines - Sprint 187 更新

功能

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

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

它意味着什么?

SDK 版本由以下部分组成: x.y.znnz 是功能版本, nn 是修补程序版本。 例如,对于 2.1.302,功能版本为 3,02 为修补程序版本。 根据新方法,我们将仅为每个功能版本安装最新的修补程序版本,即 2.1.3x 仅安装 2.1.302,2.1.4x 仅安装 2.1.403,依依此。 所有不是最新修补程序版本的 .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 管道中使用不同类型的 共享资源 。 示例包括服务连接、变量组、安全文件、代理池、环境或存储库。 为了防止管道访问资源,资源的所有者可以配置权限并检查该资源。 每次管道尝试访问资源时,都会评估所有配置的权限和检查。 这些保护已在服务连接、环境和代理池上提供一段时间。 它们最近已添加到 存储库中。 在此版本中,我们将向变量组和安全文件添加相同的保护。

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

我的机密变量

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

添加检查审批

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

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

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

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

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

YAML 模板

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

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

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

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

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

为了确保每个人都知道这一变化,我们计划了两次短暂的停电。 任何 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 上获得社区的建议和问题的答案。