微软在2019年5月发布Azure DevOps Server 2019后不到2个月的时间里,就快速准备好了第一个升级包(2019 Update 1),并计划在几周后发布正式版本。也许你还没来得及升级TFS,也许你还在观望,可是这个版本必定会引发你的关注。它不只修复了Azure DevOps 2019大版本中的缺陷,将软件提高到了史无前例的稳定级别;还在升级包中增长了大量引人注目的新功能,集成了近期微软在Azure DevOps云端发布的大部分红熟功能。下面咱们从各功能模块的角度,逐个看看这个升级包的新特性。git
在以前全部版本的TFS和Azure DevOps Server中,存在三个开箱即用的过程模板(Agile, Scrum和CMMI)。每一个过程模板适用于不一样的开发管理模式,为开发团队提供强大而灵活的项目交付和跟踪功能。可是,若是开发团队没有使用敏捷或CMMI模式管理本身的开发工做,或者并无接触过敏捷和CMMI,他们对DevOps Server中这些默认模板中的概念和定义就会变得很是陌生。咱们辅导过的许多开发团队,都会说”TFS系统中的概念比较晦涩难懂,若是没有人指导,不知道如何开始。”github
为了解决这个问题,在最新版本的Azure DevOps Server 2019.1中,微软提供了一个比较通用的基础过程模板(Basic)。在基础模板中,开发团队可使用常见的概念和过程管理和跟踪本身的开发工做。这些概念与大众化的软件比较接近,例如其中包含了问题、任务等工做项、状态分为“To Do、Doing、Done”。基础模板为开发团队提供了一条应用Azure DevOps Server的快速通道,大幅减低的开发团队的应用门槛。web
在Azure DevOps Server中,状态(以前版本也叫情况)字段是用来控制工做项流程中。在以前的版本中,这个字段的选项的选项按照名称进行排序,若是是汉字的话,则按拼英排序。把流程顺序按拼音排序,并无反映出流程的顺序,在实际操做中给用户带来许多困惑。最新版本根据工做项中的流程定义作自动排序,很好的解决了用户的困惑。编程
在之前的版本中,若是系统升级到了新的版本,用户能够选择是否将新功能应用到当前团队项目中,例如增长Epic。根据咱们的实践经验,这个功能在许多情景下都会失败,估计这也是微软取消这个功能的缘由。在新的版本中,须要管理员自行修改xml工做项定义,来实现新的功能。安全
工做项附件功能将开发团队的文档集中存储在Azure DevOps Server,而且与相关的工做项紧密靠近在一块儿,当你须要需求说明书时,你会发现它在工做项的身边。服务器
DevOps Server 2019.1大幅改进了工做项附件的管理功能,你能够在工做项的任意位置(不须要打开附件页签)就能够将文档拖拽上传,还可使用列表、图表等视图查看附件,还能够预览附件;对于预览附件,目前只适用于PD、HTML、图片等文档,短期内不要指望Word、Excel和PPT等文档。编程语言
如今,咱们能够能够像使用管道中的构建或部署徽章同样,在团队项目的首页调用团队在团队的看板信息;经过徽章,快速展现团队积压工做的数量。能够将标记配置为仅显示正在进行的列或全部列,甚至在项目是开放源代码的状况下使标记公开可见。编辑器
在开发过程当中,咱们一般基于迭代来统计和分析已经发生的工做和即将发生的工做。可是也常常有基于日历的统计分析需求,例如咱们须要了解上周、上月、今年的工做。如今,Azure DevOps Server提供了一组@StartOf的宏命令,帮助咱们实现基于日历的统计需求:工具
l @StartOfYear测试
l @StartOfMonth
l @StartOfWeek
l @StartOfDay
例如,在工做项查询中咱们加入字句“状态修改日期>=@StartOfYear, 而且,状态修改日期<=@StartOfYear(“+3M”)”,就能够查询出今年一季度的变动状态的工做项。
在Azure DevOps Server中,工做项的讨论信息是一个相似讨论板的功能,全部的讨论信息不能被更改。如今,你能够修改删除这些讨论信息了。可是,和工做项的字段记录同样,全部对讨论的更改删除操做,都出如今历史记录中。
是否是还在苦恼如何将查询结果导出到Excel中?是否是还在苦恼Excel中的团队菜单不见了?如今,你能够不须要任何Excel插件,直接将工做项查询结果导出到CSV文件中,供Excel等工具使用。
Azure Repo如今将自动对已由拉请求策略触发的过时版本进行排队。这适用于已经过全部其余策略并设置为自动完成的拉请求。
之前,当请求具备必需的审阅者等策略时,审批过程可能会花费太长时间,而且关联的生成可能会在审阅者批准请求以前过时。若是拉请求被设置为自动完成,它将保持阻止状态,直到用户手动将过时的生成排队。经过此更改,生成将自动排队,以便在成功生成后自动完成请求。
注意:
此自动化将在每一个拉请求中最多对五个过时的生成进行排队,而且只尝试对每一个生成从新排队一次。
新增了两种拉取请求的合并方式:Fast-Forward merging 和 Semi-Linear merging (also called "Rebase and Merge").
拉请求让团队在将代码合并到主分支以前审查代码,并给出更改的反馈。它们已经成为许多团队工做流程的重要组成部分,由于您能够逐步完成建议的更改,留下注释,并投票批准或拒绝代码更改。为了让您更容易找到拉请求,如今在新版本中添加了一个过滤选项,容许您使用目标分支搜索拉取请求。
目前,Azure DevOps Server为Monaco editor编辑器支持的语言子集发布语法突出显示。可是,许多人但愿为不支持的语言建立本身的语法突出显示。如今,你能够经过插件定义的方式,增长本身的代码高亮功能和智能提示。
早在2016年,我就向Azure DevOps Server产品组反馈的这个问题,在2019.1版本中终于获得了改进。
在以前的版本中,若是源代码文件为GBK编码(Eclipse Java中文开发团队大多都是这样),在Web编辑器中,若是你修改了文件,TFS直接将文件重写为UTF-8编码,系统不会有任何提示。这样致使了持续集成出现异常,或者class文件发布到Linux服务器上一下运行异常。
如今,当您试图保存一个不是经过Web(只支持UTF编码)进行UTF编码的文件时,系统会给出警告。此外,Azure DevOps Server还经过web push端点添加了对utf-16和utf-32编码的支持。这意味着系统将保留编码类型,这样您就没必要将它们重写为UTF-8。
Go是一种开源编程语言,也称为Golang。在go中,可使用get命令下载和安装包和依赖项。经过这个更新,咱们在一个Azure DevOps存储库中添加了对Go-Get的支持。使用Go-Get,您将可以下载包及其依赖项,这些依赖项由导入路径命名。还可使用导入关键字指定导入路径。
在最新的2019.1版本中,Azure DevOps Server大幅提升了YAML语言在流水线中的应用,这些提示包括了
l 在YAML定义中使用tags触发流水线
l 在YAML定义中使用容器资源
l 增长设置:若是拉取请求已经更新,自动取消流水线
l 在yaml管道中选择签出代码的目录
l 增长编辑yaml文件的任务助手
l 增长用于Yaml管道的带IntelliSense的Web编辑器
为Yaml优化的新Azure应用程序服务任务
如今能够共享到生成日志中特定行的连接。这将在与其余团队成员协做诊断构建失败时帮助您。只需从结果视图中选择一个日志行,就能够得到一个连接图标。
在yaml文件中引用时,须要为受保护的资源(例如,服务链接、变量组、代理池、安全文件)提供安全性。同时,系统但愿让您更容易地设置和使用管道,这些管道将这些类型的资源用于非生产场景。在以前的版本中,系统添加了一个设置,将资源标记为“已受权在全部管道中使用”。
有了这个更新,咱们可让您更容易地修复资源受权问题,即便您没有将资源标记为这样。在新的经验中,当一个构建因为资源受权错误而失败时,您将看到一个选项,明确受权使用管道中的这些资源,而后继续。具备受权资源权限的工做组成员将可以从失败的生成中完成此操做。
在新版本中,在流水线的测试页签中新增了两个能够定制的点:
l 工具栏中的自定义操做按钮
l 详细信息窗格中的自定义详细信息选项卡
项目设置中的“代理池管理”页已用新用户界面更新。如今,您能够轻松地看到池中运行的全部做业。此外,您还能够了解做业不运行的缘由。
默认状况下,当从新部署之前失败的运行时,Azure管道用于从新运行全部做业。如今,能够经过在部署时配置部署选项来覆盖此行为。经过选择部署组中的“全部做业”和“限制失败目标”选项,从新运行将运行全部做业并将部署跳过到最新的目标。
当阶段的部署失败时,Azure管道如今能够自动从新部署上次成功的部署。经过在后期部署条件中配置自动从新部署触发器,能够将阶段配置为自动部署上次成功的版本。微软计划在未来的Sprint中向自动从新部署配置添加其余触发事件和操做。
经过此更新,Azure DevOps Server添加了对Red Hat Enterprise Linux 6的代理支持。如今,您能够配置针对Red Hat Enterprise Linux 6平台的代理,以执行生成和发布做业。
到目前为止,有一个限制阻止上传路径超过233个字符的生产结果文件。这可能会阻止您上传Linux和MacOS版本的代码覆盖率结果,文件路径超过限制。这个版本,已更新限制并支持长路径。
如今,您能够告诉Azure流水线忽略提交,并跳过运行提交一般触发的管道。只需在提交消息中包含[skip ci],Azure管道将跳过ci。您还可使用下面列出的任何变体。这对于提交到Azure Repos Git和Github Enterprise Server是受支持的:
测试结果趋势(高级)小部件提供了对多个版本和发布的测试数据的近乎实时的可见性。测试结果趋势(高级)小部件显示管道或跨管道的测试结果趋势。您可使用它跟踪天天的测试计数、经过率和测试持续时间。随着时间的推移跟踪测试质量并改进测试辅助资料是维护一个健康的DevOps管道的关键。
测试结果趋势(高级)小部件帮助您在测试结果中找到异常值,并回答以下问题:测试的运行时间是否比日常长?什么测试文件或管道会影响个人整体经过率?个人长期测试是什么?
为了帮助您回答这些问题,小部件提供了如下功能:
•显示经过率趋势、测试结果计数或测试持续时间
•基于多个构建管道或发布管道提供测试结果
•使用组合图表选项显示同一趋势上的两个指标
根据测试结果过滤随时间变化的测试计数
•按分支或测试筛选全部测试结果
按测试属性(如优先级或环境)堆叠度量
•将测试文件、全部者或管道上的数据分组
这个小部件是高度可配置的,容许您在各类场景中使用它。
能够将自动测试配置为做为生成或发布的一部分运行。能够在构建或发布摘要的测试选项卡中查看已发布的测试结果。经过此更新,咱们添加了一个复制结果URL功能,以便您能够与团队中的其余人共享单个测试运行结果。共享级别包括:
•运行级别
•结果级别
•在测试运行中选择单个选项卡
•共享还与配置的任何扩展选项卡兼容
当您共享URL时,查看者将在全屏视图中看到测试运行结果。
与其余功能同样,包管理中引入了大量的新功能,可是其中最让我高兴的是Maven库的上游库管理功能。
上游库如今可用于Maven。这包括主Maven中央存储库和Azure工件源。
包管理中的其余新功能,后续在专题文章中再作介绍。
编辑wiki时,再也不须要记住添加公式、视频和yaml标记的标记语法。如今能够单击工具栏中的上下文菜单并选择所选的选项。
注意,目前支持Youtube和Microsoft Stream的视频
如今能够将Azure Boards查询结果以表的形式嵌入到wiki页面中。下图显示了一个wiki页面的示例,其中列出了wiki中嵌入的当前sprint中发布的全部功能和全部活动Bug。页面中显示的内容正在使用现有的工做项查询。使用这个新功能,您能够建立动态内容,而无需担忧手动更新wiki页面。
在以前的版本中,若是连接的网页被重命名或移动,则共享的wiki网页连接将断开。咱们如今经过向URL添加页面ID引入了永久连接。这能够确保您共享的连接随着时间的推移保持不变。
在这个更新中,系统经过向页面添加工做项的状态及其ID和标题来加强wiki页面中提到的工做项。
拉式请求注释和板讨论中的工做项引用也将显示状态。
分析服务(Analytics)已经再也不须要安装插件,在新版本中,Analytics已经成为产品的一个功能。
对于Azure DevOps用户,尤为是企业级用户,数据分析愈来愈成为Azure DevOps体验不可或缺的一部分。对于客户来讲,帮助他们作出数据驱动的决策是一项重要的能力。
在Update 1中,客户再也不须要分析扩展来使用分析。客户如今能够在项目集合设置下启用分析,这是一个比较简单的过程。
(结束)
http://www.cnblogs.com/danzhang/ DevOps MVP 张洪君
--