可视化发布进度 - VSTS 冲刺 135 更新

Visual Studio Team Services (VSTS)的 Sprint 135 更新 中,我们提供了一种可视化所有发布活动的新方法。 新的 发布进度视图 采用 去年开发的图形发布定义编辑器 ,并使其亮起进度和状态,以便你可以跟踪发布并在完整上下文中执行操作。

Work、Code、Build、Release 以及与身份验证相关的一些其他功能。 阅读下面的新功能,然后前往 VSTS,自行尝试这些功能。

VSTS 中的新增功能

功能

工作

代码

生成和发布

身份验证

工作

导入和导出继承的进程

GitHub 上现在提供了一个新的工具,用于帮助你导入和导出继承的进程 现在可以更轻松地与他人共享配置,并在将配置暂存到测试帐户中,然后在主要帐户中对其进行更改,从而获得信心。 我们决定开放源代码此工具,这是由我们的敏捷团队之一开发的,因为它作为如何实现一些较新的 API 的示例,并且我们希望了解如何将其扩展到更好的实际工作流。 有关详细信息, 请参阅继承过程模型 文档。

在工作项中心自定义列选项

列选项(如查询中的列选项)现在可在“工作项”中心使用,使组织最重要的工作项更加个性化。 如果想要对多个列进行排序,这也支持多列排序。 有关详细信息, 请参阅工作项中心 文档。

工作项中心的列选项

代码

绕过拉取请求策略时接收通知

对于使用拉取请求 (PR) 和分支策略的团队而言,可能会出现需要替代和绕过这些策略的情况,例如,在午夜针对生产问题部署修补程序时。 值得一提的是,应该相信开发人员能够做出正确操作和慎用替代功能。 同时,团队需要一种方法来验证是否在正确的情况下使用了这些策略替代功能。 为此,我们添加了新的通知筛选器,允许用户和团队在绕过策略时接收电子邮件警报。 首先使用创建或更新拉取请求模板,从筛选器的列表中选择策略绕过。 选择已绕过策略作为值,每当 PR 完成并绕过策略时,你都会收到通知。

绕过策略通知

从拉取请求中收藏分支

查看拉取请求时,现在可以轻松地将源分支标记为收藏。 只需单击星形即可将其添加到收藏的分支列表中。 然后,分支将显示在“我的拉取请求”屏幕上,从而节省搜索所有分支列表的时间。 有关详细信息, 请参阅管理分支 文档。

生成和发布

直观显示发布进度

重要

若要使用此功能,必须在配置文件或帐户上启用新版本进度视图预览功能

现在提供了新的发布进度视图,提供部署进度的实时更新和一键式访问进一步的详细信息。 新视图直观显示了发布管道,使你可以更轻松地了解当前的进程,并在发布的不同阶段显示适当的详细信息和操作。

发布管道视图

管道、发布详细信息和环境

管道视图显示发布项目以及部署位置的环境。 发布区域提供发布详细信息,如发布触发器、项目版本和标记。

环境的建模方式有助于了解其状态以及详细的进度。 在任何时候,你都可以通过单击环境中的状态链接来获取日志。

发布项目和环境

预先部署和后期部署

如果为环境设置了预先部署或后期部署条件,则会在环境中通过审批和入口的存在进行指示。 审批和入口的进度也会显示在环境的状态中。 可以通过单击在环境右侧或左侧显示的环境条件图标来执行操作或查看进一步详细信息。

发布环境操作

入口的图形视图和查看日志的快速操作有助于保持发布移动。

图形视图和快速操作。

提交和工作项

对于每个新发布,可以通过单击环境来单独查看每个环境的关联提交和工作项的列表。 如果列表太长,可使用筛选器查找感兴趣的提交或工作项。

发布环境提交和工作项

部署进度和日志

环境会显示正在进行的部署的实时更新,包括已完成和正在运行的阶段和任务数量。 单击环境状态可打开一个包含日志的视图(侧重于当前处于活动状态的内容)。

发布环境日志

此外,还可以单击日志以输入重点视图,这将很快生成和测试视图。

发布环境日志详细信息

测试结果和扩展性

对于每个环节,还会显示测试的执行结果。 单击测试结果可打开包含测试详细信息的视图,其中包含参与该进程的其他扩展的结果。

发布测试结果

现有扩展可以在此新视图中正常运行,另外存在新的扩展点,它们支持扩展发展为显示更多有关环境的信息。 有关详细信息,请参阅贡献和扩展文档。

在管道中运行内联的或基于文件的 Python 脚本

新的 Python 脚本任务简化了在管道中运行 Python 脚本。 该任务将从存储库中的 Python 文件 (.py) 运行脚本,或者你可以在任务的设置中手动输入脚本,以将其另存为管道的一部分。 该任务将在路径中使用 Python 的版本,或者你可以指定要使用的 Python 解释器的绝对路径。

在管道中使用 Anaconda 工具进行数据科学

Miniconda 现已在Microsoft托管代理上提供。 conda 包和虚拟环境管理器可以轻松安装、运行和升级复杂的数据科学和机器学习环境,例如 SciPy 堆栈、scikit-learn、CNTK 和 TensorFlow。 它还将安装管道所需的 Python 版本。

新的内置 Conda 环境 任务还有助于创建 conda 环境。 它会为后续管道步骤激活环境,安装包依赖项,将 conda 添加到路径,并选择性地将代理升级到最新版本的 conda。

简化包含多个无代理任务的定义

无代理阶段的任务由服务器安排,并在该服务器上执行。 无代理阶段不需要代理或任何目标计算机。 与代理阶段不同,只能向定义中的每个无代理阶段添加一个任务。 这意味着如果进程中存在多个无代理任务,则必须添加多个阶段,这将导致定义非常庞杂。 我们放宽了该限制,使你可以在无代理阶段维护多个任务。 与代理阶段一样,同一无代理阶段中的任务将按顺序执行。 有关详细信息,请参阅服务器阶段文档。

管理自承载并发 CI/CD 作业的限制

重要

如果使用自承载 CI/CD,请检查并发限制并提前计划,以避免意外生成和释放等待时间。

VSTS 中 CI/CD 的定价模型基于自承载(专用)或Microsoft托管代理上的并发作业数。 每个 VSTS 帐户都会获得特定的并发免费配额。 除此之外,还可以通过 Visual Studio Enterprise 订阅或 Visual Studio Marketplace 获取其他并发性。

在过去的几个月里,我们禁用了对在自承载代理上运行的作业的并发检查,因为我们重新设计了该服务的这一部分以解决客户报告的问题。 因此,可以同时运行任意数量的作业,就像自承载代理允许的一样多。

从 6 月开始,我们将逐步重新启用对自承载作业的并发检查。 因此,如果这些槽被其他正在运行的作业占用,则生成和部署可能会等待更长的时间。 生成或发布中的日志页将在等待其他作业完成时指示这一点。

可以在 Team Services 文档中的 CI/CD 并发作业中了解有关并发限制的详细信息。 可以通过转到帐户设置 -> 生成和发布 -> 资源限制来检查 VSTS 中的并发限制。

简化从 Azure 中的代理 VM 到 Azure 资源管理器的身份验证

有多种方法可以运行生成和发布代理。 在 Azure 中自行运行它们变得更加简单且更安全。 现在,可以使用 Azure Active Directory(Azure AD)中的 Azure 托管服务标识配置基于 Azure 虚拟机(VM)的代理。 通过为 Azure VM 提供分配的标识,可以使用其服务主体信息向 VM 授予对支持 Azure AD 的任何 Azure 资源(例如密钥库)的访问权限,而不是在终结点的 VSTS 中保留凭据。

例如,如果代码需要调用 Azure 资源管理器,则只需在 Azure AD 中使用基于角色的访问控制(RBAC)为 VM 的服务主体分配适当的角色。 有关详细信息,请参阅生成和发布代理Azure 托管服务标识文档。

“添加 Azure 资源管理器服务终结点”对话框

通知

使用备用身份验证通知保护用户帐户

为用户帐户设置备用身份验证时,你现在将收到一条确认更改的通知。 这可能有助于仔细检查是否已正确进行更改,但它也可以用作一个早期信号,表明如果未进行更改,用户帐户可能已泄露。 在这种情况下,可以采取措施重新控制用户帐户并删除任何可疑的替代身份验证配置。 有 3 种发送通知的方案:

  1. 创建个人访问令牌 (PAT)
  2. 注册 SSH 密钥
  3. 启用基本身份验证

有关详细信息, 请参阅身份验证 文档。

VSTS PAT 添加了电子邮件

如何提供反馈

我们很想听听你对这些功能的看法。 如果你对想要查看我们优先顺序的事情有想法,请通过反馈菜单报告问题或提供建议。

反馈菜单

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

此致

Jamie Cool