交付计划 2.0 的新增强功能
在此冲刺中,我们将通过新的精简视图和汇总信息增强交付计划 2.0。 我们还引入了手动验证和用于在 YAML 管道中预声明资源的新uses
语句。
有关详细信息,请查看下面的功能列表。
Azure Boards
Azure Pipelines
Azure Boards
交付计划:汇总信息
作为交付计划 2.0 公共预览版的一部分,汇总信息现已推出。 处理更高级别的工作项(如长篇故事或功能)时,可能需要查看更多详细信息。 汇总显示基础子工作项的进度,并显示完整情况。 若要启用此功能,请转到 计划设置,然后选择 “字段”,然后选择“ 显示子汇总数据”。
交付计划:压缩视图
作为交付计划 2.0 公共预览版的一部分,客户现在可以在普通视图和精简视图之间切换。 包含其他字段的卡片可能会占用大量垂直空间。 这使得很难一次在屏幕上看到多个卡片,即使完全缩小也是如此。我们创建了折叠卡视图,该视图隐藏卡片中的所有字段,并仅显示工作项类型图标和标题。 现在只需单击一下即可隐藏和显示所有字段。
Azure Pipelines
用于预声明资源的“uses”语句
当管道在代理上运行作业时,会向该代理提供访问令牌,以回调 Azure Pipelines REST API 并下载存储库等资源。 对于 YAML 管道,我们最近添加了一个设置,将令牌限制为仅限作业中实际使用的存储库。 但是,某些客户在使用存储库时没有显式使用步骤 checkout
,例如,如果他们使用脚本步骤直接调用 Git。 这些客户无法启用令牌限制功能,因为 Azure Pipelines 无法准确确定作业所需的存储库。
在此更新中,我们添加了一种替代方法,告知 Azure Pipelines 作业希望在不使用步骤的情况下 checkout
使用存储库。 可以改用新的uses
关键字 (keyword) ,如下所示:
resources:
repositories:
- repository: myrepo
type: git
name: MyProject/MyRepo
jobs:
- job: myjob
uses:
repositories:
- myrepo
steps:
# without the preceding "uses" statement, if you have the
# new limit-repositories feature turned on, then Azure Pipelines
# won't include this repo in the access token and you'll
# get an access error at runtime (also, in a real pipeline
# you must include the auth token header as an argument to Git)
- script: git clone https://dev.azure.com/MyOrg/MyProject/_git/MyRepo
此功能还解决了相关 (但不太常见的) 问题。 如果使用matrix
关键字 (keyword) 生成多个作业,并且这些作业使用矩阵步骤中指定的池,则可能在为管道授权这些池时遇到问题。 根本原因相同:由于矩阵是在运行时计算的,因此前期资源授权系统无法准确确定所使用的池。 使用 uses
,可以声明作业将使用的池,以便预先授权这些池。
jobs:
- job: mtrx
strategy:
matrix:
windows:
mypoolname: Private-Windows
mac:
mypoolname: Private-Mac
pool: $(mypoolname)
# without the following "uses" statement, "pool" won't see
# the pool names until it's too late, and you'll get an error
# at runtime
uses:
pools:
- Private-Windows
- Private-Mac
YAML 管道的手动验证
使用新发布的 手动验证 任务,可以在中间阶段暂停 YAML 管道。 这使你可以执行手动或脱机活动,然后继续 (或拒绝) 运行。 在想要暂停管道并让对等方验证配置设置、生成包等的情况下,这尤其有用。在转到长时间运行的计算密集型作业之前。 了解详细信息。
后续步骤
注意
这些功能将在未来两到三周内推出。
前往 Azure DevOps 并查看。
如何提供反馈
我们很想听听你对这些功能的看法。 使用帮助菜单报告问题或提供建议。
你还可以在 Stack Overflow 上获得社区的建议和问题的答案。
此致
Matt Cooper