Azure Pipelines - Sprint 177 更新

功能

更新 Azure Pipelines 代理中的 Node

最初发布的更新:由于与 Red Hat Enterprise Linux 6 和 Node 14 不兼容,我们在 Node 14 上暂停了工作,并将首先专注于访问 Node 10。

此版本已开始从 Node 6 迁移到受支持的 Node 版本,作为 Azure Pipelines 任务的首选运行时。 我们已更新第一批现成任务,以在 Node 10 上运行。 此更改标记了默认情况下从代理中删除 Node 6 的进程开始。 节点 6 已退出长期支持,通常被自动扫描程序标记为安全风险。 虽然我们相信,使用 Node 6 不太可能受到大多数潜在缺陷的约束,但我们仍然有必要将任务引入受支持的运行时。 在日历年 2021 年,我们计划开始交付没有 Node 6 的代理版本。

如果使用任何启用了 Node 10 的任务,则自承载代理将自行更新,以运行新版本的任务。 除此之外,大多数客户都不应受到影响。 另一方面,如果你是任何任务的作者,则应开始更新它们以在节点 10 上运行。 task.json在你的下,execution你可以从中Node更新到Node10。 如果需要支持较旧的服务器版本,则可以离开 Node 入口点。 了解 Node 10 处理程序的 Azure DevOps 实例默认会选择它,不会回退到 Node 6 实现的实例。

保存运行不正常的代理以在规模集代理中进行调查

使用规模集代理时,Azure Pipelines 管理代理实例的纵向扩展和缩减。 当 Azure Pipelines 检测到规模集中的运行不正常的 VM 时,它会将问题记录到池诊断 UI,并尝试删除 VM。 VM 可能不正常的原因有很多:规模集的网络配置可能已阻止 Azure Pipelines 扩展下载最新的代理、自定义脚本扩展可能已失败,或者规模集 VM 映像可能具有挂起的重新启动或挂起Windows 更新。

通过删除不正常的 VM,Azure Pipelines 会优化代理池以运行 CI/CD 作业。 在某些情况下,可以使用 Azure Pipelines 诊断 页(如上所示)或 Azure 诊断 页来调试此问题。 但是,在许多情况下,诊断问题的最佳方式是登录到 VM 并查看代理日志和事件查看器日志。 目前,由于自动删除不正常的 VM,因此这并不容易。

在此版本中,我们通过提供保存不正常代理进行调查的功能,增强了不正常 VM 的可诊断性。

保存运行不正常的代理后,可以连接到虚拟机、调试和检索所需的任何日志。 完成后,可以释放代理和关联的 VM。 有关详细信息,请参阅有关 对不正常代理进行故障排除的部分。

ubuntu-latest 管道即将使用 Ubuntu-20.04

Ubuntu 20.04 很快将成为 Azure Pipelines 中标签的默认版本 ubuntu-latest 。 从 11 月 30 日开始的几周内,将推出此更改。

如果 Ubuntu 管道出现任何问题:

请注意,ubuntu-18.04ubuntu-20.04预安装的工具和默认版本的工具可能有所不同。 有关所有差异的信息,请参阅 https://github.com/actions/virtual-environments/issues/1816

后续步骤

注意

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

前往 Azure DevOps 并了解一下。

如何提供反馈

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

提出建议

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