Azure Pipelines - Sprint 194 更新
功能
- 跳过生成时,将非特定状态发布到 GitHub
- 默认情况下,在受保护的资源中关闭对所有管道的访问
- 使用修饰器在指定目标任务之前或之后注入任务
- 宣布弃用 Windows 2016 托管映像的计划
- 宣布弃用 macOS 10.14 托管映像
跳过生成时,将非特定状态发布到 GitHub
使用 Azure Pipelines,始终可以在 GitHub 中验证拉取请求。 还可以指定 GitHub 存储库中的哪些 路径 应触发管道。 例如,在分支中main
推送code
更改时会触发以下管道,但在将更改推送到docs
文件夹时不会触发。
trigger: none
pr:
branches:
include:
- main
paths:
include:
- code
exclude:
- docs
pool:
vmImage: ubuntu-latest
steps:
- script: echo Hello, world!
displayName: 'Run a one-line script'
管道完成后,Azure Pipelines 会将状态发布回 GitHub。 如果 GitHub 存储库的分支保护策略有效,则 Azure Pipelines 发布的状态决定了是否合并拉取请求。
在上面的示例中,如果对 docs
进行了更改,GitHub 当前会阻止拉取请求等待 Azure Pipelines 返回状态。 但是,Azure Pipelines 不会运行验证生成,因为该路径已从触发器中排除,因此无法完成拉取请求。 为单个 GitHub 存储库设置路径排除触发器或多个管道的客户经常面临这一挑战。
今后,当 Azure Pipelines 由于路径排除规则而决定不运行验证生成时,会将状态发布 neutral
回 GitHub。 这将为 GitHub 提供一个明确的方向,指示 Azure Pipelines 已完成其处理。
对话视图:
检查详细信息:
默认情况下,在受保护的资源中关闭对所有管道的访问
YAML 管道可以依赖于一个或多个 受保护的资源。 服务连接、代理池、变量组、安全文件和存储库都是受保护资源的示例,因为此类资源的管理员可以控制哪些管道有权访问该资源。 管理员使用资源的安全设置面板启用或禁用管道。
创建其中一个资源时,默认体验会授予对所有管道的访问权限,除非将其显式关闭。 今后,为了改善整体安全状况,默认设置为拒绝访问所有管道。 若要授予对所有管道的访问权限,只需在创建体验中或在创建资源后打开开关。
使用修饰器在指定目标任务之前或之后注入任务
修饰器 是一种自动将任务注入管道的方法。 组织中的中心团队通常使用它们来自动运行所需的合规性过程。 修饰器可以与经典版本、经典版本或 YAML 管道一起使用。
目前,可以在每个作业的开头、每个作业结束时或检查任务之后通过修饰器注入任务。 若要对此进行控制,请在修饰器的扩展的贡献部分中指定 target
,如此处所述。 我们现在正在扩展目标列表,以包括以下内容:
ms.azure-pipelines-agent-job.pre-task-tasks
ms.azure-pipelines-agent-job.post-task-tasks
ms.azure-release-pipelines-agent-job.pre-task-tasks
ms.azure-release-pipelines-agent-job.post-task-tasks
下面是一个修饰器示例,该修饰器在任务的每个实例 PublishPipelineArtifacts
之前注入到管道中。
{
"manifestVersion": 1,
"contributions": [
{
"id": "my-required-task",
"type": "ms.azure-pipelines.pipeline-decorator",
"targets": [
"ms.azure-pipelines-agent-job.pre-task-tasks"
],
"properties": {
"template": "my-decorator.yml",
"targettask": "ECDC45F6-832D-4AD9-B52B-EE49E94659BE"
}
}
],
"files": [
{
"path": "my-decorator.yml",
"addressable": true,
"contentType": "text/plain"
}
]
}
宣布弃用 Windows 2016 托管映像的计划
最近,我们提供了 Windows 2022 作为托管映像。 随着即将在 2022 年 1 月结束对 Windows 2016 的主流支持,我们将从 11 月 15 日起弃用 vs2017-win2016
映像。 此映像计划于 2022 年 3 月完全停用。 由于这是一个常用的映像,我们希望为你提供足够的通知和时间来对管道进行必要的更改。
请参阅我们的 博客文章 ,详细了解如何使用 Windows 2016 托管映像查找所有项目和管道,以及迁移到较新版本可以采取的步骤。
宣布弃用 macOS 10.14 托管映像
最近,我们提供了 macOS-11 作为托管映像。 因此,我们将在 2021 年 12 月弃用 macOS-10.14 映像。 依赖于此映像的生成在弃用后将失败。 可以从我们的 博客文章中找到有关弃用各种映像的更多详细信息。
后续步骤
注意
这些功能将在未来两到三周内推出。
前往 Azure DevOps 并查看。
如何提供反馈
我们很想听听你对这些功能的看法。 使用帮助菜单报告问题或提供建议。
你还可以在 Stack Overflow 上获得社区的建议和问题的答案。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈