在没有团队的情况下创建仪表板 - Sprint 162 更新

在 Azure DevOps 的 Sprint 162 更新中,我们很高兴地宣布,无需将其关联到团队即可创建仪表板。 项目中的每个人都可以看到仪表板,你可以决定谁可以编辑/管理它。

此外,我们还添加了冲刺燃尽缩略图。 现在,你可以根据故事、故事点或任务计数将其配置为燃尽。

有关详细信息,请查看下面的 功能 列表。

功能

Azure Repos:

Azure Pipelines:

报表:

Azure Repos

新的 Web 平台转换登录页面

我们更新了 Repos 登陆页面用户体验,使其具有现代、快速和移动友好。 下面是已更新页面的两个示例,我们将在将来的更新中继续更新其他页面。

Web 体验:

新的 Web 平台转换登陆页面。

移动体验:

新的移动平台转换登录页面。

新的移动平台登陆页面示例。

支持 Kotlin 语言

我们很高兴地宣布,我们现在支持在文件编辑器中突出显示 Kotlin 语言。 突出显示将提高 Kotlin 文本文件的可读性,并帮助你快速扫描以查找错误。 我们根据开发者社区的建议确定此功能的优先级。

支持 Kotlin 语言。

Azure Pipelines

更新了多阶段管道 UI

默认情况下,多阶段管道 UI 的更新版本现已可用。 多阶段管道体验为管道的门户 UI 带来了改进和易用性。 可以通过从左侧菜单中选择“ 管道” 来查看和管理管道。 此外,还可以向下钻取和查看管道详细信息、运行详细信息、管道分析、作业详细信息、日志等。

若要详细了解多阶段管道用户体验,请参阅 此处的文档。

更新了多阶段管道 UI。

VSTest TestResultsDirectory 选项在任务 UI 中可用

VSTest 任务将测试结果和关联的文件 $(Agent.TempDirectory)\TestResults 存储在 文件夹中。 我们在任务 UI 中添加了一个选项,使你可以配置其他文件夹来存储测试结果。 现在,需要特定位置的文件的任何后续任务都可以使用这些文件。

VSTest TestResultsDirectory 选项在任务 UI 中可用。

在管道中使用扩展关键字 (keyword)

目前,管道可以分解为模板,促进重用并减少样板。 管道的整体结构仍由根 YAML 文件定义。 在此更新中,我们添加了一种更结构化的方式来使用管道模板。 根 YAML 文件现在可以使用关键字 (keyword) 扩展来指示可以在另一个文件中找到main管道结构。 这使你可以控制哪些段可以扩展或更改,哪些段是固定的。 我们还使用数据类型增强了管道参数,以清除可以提供的挂钩。

此示例演示如何提供简单的挂钩供管道作者使用。 模板将始终运行生成,可以选择运行管道提供的其他步骤,然后运行可选的测试步骤。


# azure-pipelines.yml
extends:
  template: build-template.yml
  parameters:
    runTests: true
    postBuildSteps:
    - script: echo This step runs after the build!
    - script: echo This step does too!

# build-template.yml
parameters:
- name: runTests
  type: boolean
  default: false
- name: postBuildSteps
  type: stepList
  default: []
steps:
- task: MSBuild@1   # this task always runs
- ${{ if eq(parameters.runTests, true) }}:
  - task: VSTest@2  # this task is injected only when runTests is true
- ${{ each step in parameters.postBuildSteps }}:
  - ${{ step }}

自动测试错误消息中的 Markdown 支持

我们已为自动测试的错误消息添加了 Markdown 支持。 现在,可以轻松地为测试运行和测试结果设置错误消息的格式,以提高可读性并简化 Azure Pipelines 中的测试失败故障排除体验。 可 在此处找到支持的 Markdown 语法。

自动测试错误消息中的 Markdown 支持。

从管道收集自动和用户指定的元数据

现在,可以从管道任务启用自动和用户指定的元数据收集。 可以使用元数据在环境中使用评估项目检查强制实施项目策略。

从管道收集自动和用户指定的元数据。

汇报服务连接 UI

我们一直在研究更新的用户体验,以管理服务连接。 这些更新使服务连接体验现代化,并与 Azure DevOps 的方向保持一致。 今年早些时候,我们引入了用于服务连接的新 UI 作为预览功能。 感谢所有尝试新体验并向我们提供宝贵反馈的人。

汇报服务连接 UI。

除了用户体验刷新之外,我们还添加了两项功能,这些功能对于在 YAML 管道中使用服务连接至关重要:管道授权、审批和检查。

管道授权、审批和检查。

默认情况下,新用户体验将在此更新中 处于打开状态 。 你仍然可以选择退出预览版。

注意

我们计划引入 跨项目共享服务连接 作为一项新功能。 可 在此处找到有关共享体验和安全角色的更多详细信息。

使用环境的 VM 部署

环境中请求最多的功能之一是 VM 部署。 通过此更新,我们将在环境中启用虚拟机资源。 现在可以跨多台计算机协调部署,并使用 YAML 管道执行 滚动 更新。 还可以在每个目标服务器上直接安装代理,并将滚动部署驱动到这些服务器。 此外,还可以在目标计算机上使用完整的任务目录。

具有环境的 VM 部署。

滚动部署将旧版应用程序的实例替换为一组计算机上的新版本应用程序的实例, (每次迭代中的滚动集) 。

例如,下面的滚动部署在每次迭代中最多更新五个目标。 maxParallel 将确定可以并行部署的目标数。 所选内容会考虑必须随时保持可用的目标数,但要部署到的目标除外。 它还用于确定部署过程中的成功和失败条件。

jobs:
- deployment:
  displayName: web
  environment:
    name: musicCarnivalProd
    resourceType: VirtualMachine
  strategy:                 
    rolling:
      maxParallel: 5 #for percentages, mention as x%
      preDeploy:
        steps:
        - script: echo initialize, cleanup, backup, install certs...
      deploy:              
        steps:                                     
        - script: echo deploy ...      
      routeTraffic:
        steps:
        - script: echo routing traffic...   
      postRouteTraffic:
        steps:          
        - script: echo health check post routing traffic...  
      on:
        failure:
          steps:
          - script: echo restore from backup ..     
        success:
          steps:
          - script: echo notify passed...

注意

通过此更新,当前管道和关联管道资源中的所有可用项目仅在生命周期挂钩中 deploy 下载。 但是,可以通过指定“ 下载管道项目”任务来选择下载。 此功能存在一些已知的差距。 例如,重试某个阶段时,它将在所有 VM 上重新运行部署,而不仅仅是在失败的目标上。 我们正在努力在将来的更新中缩小这些差距。

跳过 YAML 管道中的阶段

启动手动运行时,有时可能需要跳过管道中的几个阶段。 例如,如果不想部署到生产环境,或者想要跳过部署到生产环境中的几个环境。 现在可以使用 YAML 管道执行此操作。

更新的运行管道面板显示 YAML 文件中的阶段列表,你可以选择跳过其中一个或多个阶段。 跳过阶段时必须谨慎。 例如,如果第一个阶段生成了后续阶段所需的某些项目,则不应跳过第一阶段。 每当跳过具有下游依赖项的阶段时,运行面板会显示一般警告。 这些依赖项是否是真正的项目依赖项,或者它们是否只是用于部署的排序,这一点由你决定。

跳过 YAML 管道中的阶段。

跳过阶段等效于重新对阶段之间的依赖关系进行重排。 跳过阶段的任何直接下游依赖项都依赖于跳过阶段上游父级。 如果运行失败,并且尝试重新运行失败的阶段,该尝试也将具有相同的跳过行为。 若要更改跳过的阶段,必须启动新的运行。

若要更改跳过的阶段,请启动新的运行。

报表

内联冲刺燃尽缩略图

冲刺燃烧回来了! 几个冲刺前,我们从 Sprint 进度和任务板标头中删除了上下文冲刺进度。 根据你的反馈,我们改进了并重新引入了冲刺进度缩略图。

内联冲刺燃尽缩略图。

单击缩略图将立即显示较大版本的图表,并在“分析”选项卡下提供查看完整报表的选项。对完整报表所做的任何更改都将反映在标题中显示的图表中。 因此,现在可以将其配置为根据故事、故事点或任务计数进行进度,而不仅仅是剩余的工时量。

在没有团队的情况下创建仪表板

现在可以创建仪表板,而无需将其与团队相关联。 创建仪表板时,请选择“项目仪表板”类型。

在没有团队的情况下创建仪表板。

项目仪表板类似于团队仪表板,只不过它不与团队关联,你可以决定谁可以编辑/管理仪表板。 就像团队仪表板一样,它对项目中的每个人都可见。

所有需要团队上下文的 Azure DevOps 小组件都已更新,让你可以在其配置中选择团队。 可以将这些小组件添加到项目仪表板,并选择所需的特定团队。

更新了需要团队上下文的 Azure DevOps 小组件。

注意

对于自定义或第三方小组件,项目仪表板会将默认团队的上下文传递给这些小组件。 如果你有依赖于团队上下文的自定义小组件,则应更新配置以允许你选择团队。

后续步骤

注意

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

前往 Azure DevOps 并查看。

如何提供反馈

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

提出建议

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

此致

杰夫·贝勒