TeamCity 2020.2最新变化

TeamCity 2020.2 利用外部服务引入了对隐私友好的登录,它采用全新的 Python 构建运行程序,并且与 Bitbucket Cloud 和 JetBrains Space 集成。 它允许您在外部服务中执行构建而不占用构建代理,并在多节点设置中解锁辅助服务器上的项目编辑。 管理员现在可以自定义服务器清理计划,并查看外部存储位置中的磁盘空间使用情况。 您会喜欢上新的 Sakura UI 的更新。

欢迎使用您的 GitHub、GitLab 或 Bitbucket 帐户

欢迎使用您的 GitHub、GitLab 或 Bitbucket 帐户

我们希望持续集成成为每个开发者生活中的常规部分。 为了支持更多工作流并让 TeamCity 的体验更加流畅,我们现在支持使用下列外部服务进行身份验证:GitHub、GitLab 和 Bitbucket。

TeamCity 2020.2 会立即将外部 OAuth 帐户与现有 TeamCity 用户匹配,让他们无需输入密码即可处理其项目。 它与受支持服务的用户目录功能(例如 GitHub 组织和 GitLab 组)集成,并且可以在新成员加入您的团队时自动创建新的个人资料。

除了云服务外,TeamCity 2020.2 还支持本地安装的 GitHub (GitHub Enterprise) 和 GitLab(GitLab 自托管)。

Bitbucket Cloud:现在支持 Pull Request

通过添加对 Pull Request 的支持,版本 2020.2 扩展了与 Bitbucket Cloud 的集成。 现在,您可以设置 TeamCity 来自动提取在您的 Bitbucket Cloud 存储库中提出的 Pull Request 并运行相应的构建。 将 Commit Status Publisher 与 Automatic Merge 功能一起使用时,可以创造一个令人惊叹的组合,能够以最高效的方式使用您最喜欢的工具。

谈到 Python? 构建 Python!

随着 Python 成为世界第二受欢迎的编程语言,您希望您的持续集成系统支持其所有现代功能和开发实践。 这就是我们创建全新的 Python 构建运行程序的原因,它使您能够在 Python 项目中充分利用 TeamCity 的强大功能和智能。 新的构建运行程序适合所有操作系统,支持虚拟环境,并且可与适合 Python 的所有通用测试框架和代码检查工具集成。

Python 构建和测试的结果会在 TeamCity UI 中报告,方式与所有其他 TeamCity 构建运行程序相同。 您可以跟踪变更、分析故障、分配调查,并使用您了解和喜欢的所有其他 TeamCity 功能。

关于 Space 的消息…

JetBrains Space 已添加到 Commit Status Publisher 功能支持的服务列表中。 到目前为止,要检查您的变更是否破坏了任何内容,您必须打开 TeamCity 并在其中搜索构建结果。 借助新的集成,Commit Status Publisher 会自动将构建的状态发送到 Space,这样您就可以在项目的 Commits 页面上看到它。

通过无代理构建步骤充分利用代理

您的 CI/CD 管道是否依赖外部服务,从而导致您的构建代理在等待外部作业完成时一直处于占用状态? 而更糟的一点是,它们是否在 AWS 或其他云端运行,导致您的时间和金钱白白浪费? 那么,您会喜欢上 TeamCity 2020.2 中的无代理构建步骤。 现在,您的构建可以在无代理模式下执行其最终步骤,释放构建代理并允许它们运行其他已排队任务。 TeamCity 将无代理构建步骤显示为标准构建,允许您跟踪其状态、浏览其日志并查看其历史记录。

多个服务器, 统一的体验。

我们的大客户正在使用 TeamCity 进行更多构建,因此我们会继续推动多服务器功能向前发展。 在版本 2020.2 中,辅助服务器朝着主服务器迈出了一大步,允许您编辑项目级设置。 这使您的团队能够在主服务器维护时设置新的构建。

面向专业管理员的专业功能

磁盘使用情况监视器中的外部存储

磁盘使用情况监视器中的外部存储

我们有越来越多的用户更喜欢在云中存储工件,例如在 Amazon S3 中。 从 2020.2 开始,TeamCity 将向您显示构建在本地驱动器上和远程位置所占用的磁盘空间。

可自定义的清理计划

可自定义的清理计划

清理功能变得更加强大。 现在,您可以使用类似 cron 的表达式来自定义其计划,以便定期启动服务器清理 - 例如,在周末或每天两次。

Sakura UI:功能与设计的完美结合

我们出色的 UI 团队一直致力于在实验性“Sakura”UI 中带来更多功能并支持更多用例。 TeamCity 2020.2 提供了许多出色的功能,这些功能不仅适合最终用户,也非常适合插件开发者。

构建依赖关系

构建依赖关系

使用 CI/CD 的重要组成部分之一是能够从全局了解所有内容是如何构建的,而 TeamCity 2020.2 的 Build Dependencies 页面在此方面带来了两项重大改进:

  • 现在,Timeline 视图不仅显示已开始和已完成的构建,还显示已排队的构建。
  • 现在,Build Chain 视图会显示链的“右侧”部分:依赖于当前构建的所有构建。

测试历史记录页面

TeamCity 2020.2 在 Sakura UI 中又添加了一项缺失的功能:新的 Test History 页面。 新页面为您提供有关测试的详细信息,并允许您分析趋势、查看调查历史记录等。

构建日志搜索

构建日志搜索

我们已经实现了来自用户的最热门请求之一:构建日志搜索。 现在,可以更轻松地浏览构建日志、调试设置并了解构建过程中发生的事情。

Sakura UI 插件开发框架

TeamCity 始终提供扩展点,并允许开发者在其功能上进行构建。 从版本 2020.2 开始,我们提供了一种为用户界面编写和集成插件的新方法。 要了解更多信息,请查看 TeamCity Technology Day 的演讲。

Sakura UI:功能与设计的完美结合

新的 Build Queue 页面新颖时尚,运行速度非常快,并且可以轻松找到需要的所有内容。 它允许您快速查看每个已排队构建的变更、了解触发该构建的原因和它的运行位置、获取它将启动的估计时间,以及在整洁方便的 UI 中查看所有其他构建信息。 您可以选择不需要的任何构建并将其从队列中移除,或者如果有需要尽快完成的构建,也可以将其移至列表的顶部。

这里只列出了我们增强 TeamCity 的一部分方法。 如需查看版本 2020.2 中的变更完整列表,请参阅 TeamCity 文档

TeamCity 2020.1最新功能

TeamCity 2019.2 为您提供了一些优秀的新方法来管理生成清理和监控服务器的性能。 它支持 EC2 启动模板,并为定义生成链提供了新的 DSL 语法。 它还提供了一种使用 Git 补丁运行个人生成的简单方法,并为实验性 UI 增加了许多改进。

条件构建步骤实现无条件多功能性

条件构建步骤实现无条件多功能性

您是否曾希望在不同的平台上执行不同的命令行脚本,或者将不同分支中的变更部署到不同的暂存服务器? 现在,您可以实现这些目标了! 在 TeamCity 2020.1 中,您可以指定构建步骤的条件,并且仅在满足条件后执行构建步骤。

在群集中根据需要调整构建规模。 K8s 助您一臂之力。

在群集中根据需要调整构建规模。 K8s 助您一臂之力。

简单且可重现的群集部署现在开箱即用。 在 v2020.1 中,您可以在 Kubernetes 上实现可扩展的 CI/CD 架构:当您需要构建代理、执行它们的作业时,构建代理可以自动启动并在构建完成后移除。

多服务器魔法

多服务器魔法

运行多个 TeamCity 服务器并让它们协同工作可以将 CI/CD 的性能和可靠性提升到新水平。 通过使用触发器处理扩展辅助服务器的功能并在 UI 中支持用户级操作,我们改进了 TeamCity 在群集环境中的性能。

触发器处理

对于处理大型项目的专业人员来说,VCS 变更、包更新和新工件会触发大量的触发器。 为了帮助他们尽可能提高性能,我们现在允许辅助服务器参与此过程并分担主服务器的一些工作。

用户级操作

我们改进了辅助服务器的 UI,让您可以修改用户配置文件、更改项目和配置的视图、管理构建代理,等等。

更轻松地部署云构建代理

TeamCity 2020.1 提供了一个新选项,让您可以从 TeamCity 服务器下载预封装的代理分发。 在连接到 TeamCity 服务器后,预封装的构建代理不需要进行更新,这让创建和更新云镜像变得更快、更简单。

升级您的通知

升级您的通知

为了将 TeamCity 的通知功能提升到新高度,我们实现了一个新的构建功能,此功能让项目管理员可以设置面向整个团队的自动提醒。 可以在构建配置级别配置新通知,因此,您可以使用 Kotlin DSL 编辑、重用和共享它们。

借助全新的 Slack 通知程序,您的团队可以直接在 Slack 中获得构建的状态通知。

集成的力量

Jira Software Cloud

Jira Software Cloud

TeamCity 一直以来都提供与 Jira 的出色集成,该集成可以自动将提交消息中的问题代码替换为相应 Jira 问题的链接。 为了支持更多工作流,我们扩展了集成,并开始将构建和部署的状态发送到 Jira Software Cloud。 现在,您可以直接在问题跟踪器中查看 CI/CD 管道和版本历史,并且可以了解哪些问题与失败的构建相关联。

Azure DevOps

Azure DevOps

我们扩展了“拉取请求”构建功能支持的 Git 托管服务的列表,并添加了对 Azure DevOps 拉取请求的支持。 借助这个新选项,您可以在 Azure DevOps 的拉取请求分支上自动运行构建,与在 GitHub 和 GitLab 上的操作类似。

新的 Sakura UI

新的 Sakura UI

大多数开发者每天都会使用 CI/CD,我们希望提高它的实用性。 正因如此,我们持续打造快速、易于使用并让我们能够更快交付新功能的新 UI。

为了支持经典 TeamCity 的更多用例,2020.1 版的实验性 UI 包含更新的 Agents 与 Projects 页面,并允许配置项目边栏。

如需查看版本 2020.1 中的变更完整列表,请参阅 TeamCity 文档

TeamCity 2019.2最新变化

TeamCity 2019.2 为您提供了一些优秀的新方法来管理生成清理和监控服务器的性能。 它支持 EC2 启动模板,并为定义生成链提供了新的 DSL 语法。 它还提供了一种使用 Git 补丁运行个人生成的简单方法,并为实验性 UI 增加了许多改进。

增强清理任务

TeamCity 中的清理规则

TeamCity 2019.2 开启了对构建创建的历史数据和工件进行控制的新维度。 重新设计的清理引擎让您可以使用一系列筛选器设置不同的清理策略:例如,您可以选择保留特定分支或具有特定标记的所有构建。

我们认为,新的清理规则对项目众多的公司和开发时使用功能分支的团队来说尤其有用。

CI 概览

以 Prometheus 形式公开 TeamCity 指标

专业人士喜欢能够帮助他们监控任务关键型系统运行和执行的工具。 从 2019.2 开始,TeamCity 会通过 HTTP 端点公开它的指标,这样就可以通过 Prometheus 擦除这些指标并通过 Prometheus Web 接口或 Grafana 仪表板加以显示。

这些指标包括服务器性能信息,以及代理、项目和构建配置的各种详细信息。

可扩展性大大提升

对于大型组织,高性能 CI 对他们的工作流至关重要。 TeamCity 在多节点设置方面有所突破,让您能够在辅助服务器上将构建添加到构建列队列,管理构建问题和调查并执行其他用户级操作。

利用实验性 UI 提高效率的更多方法

实验性 UI 中的新构建页面

开发者通常每天打开 TeamCity 很多次,这就是为什么我们要设计一个地方,让他们能够在这里快速找到所需的内容,无论项目有多大和多复杂。 按照 TeamCity UI 路线图,我们引入了一个新的构建页面,让您可以轻松地浏览构建历史,调查问题并发现构建链中的任何错误配置或瓶颈。

查看实验性 UI - 现在的外观令我们十分欣慰。

EC2 启动模板。 构建提升到新高度

支持 EC2 启动模板

我们希望 TeamCity 能够提供您在现代工作流中所需的一切功能。 版本 2019.2 添加了对 EC2 启动模板的支持,并让您能够从 AWS 帐户使用启动参数运行云构建代理。 使用启动模板,在构建代理上更新和安装新软件将变得十分简单,您无需在 TeamCity 项目配置中更改任何内容。

改进 DSL

轻松构建构建链

告别点击,迎来脚本编写。 Kotlin DSL 现在为定义构建链提供了一种简单且非常直接的语法。 设置顺序和并行构建,配置失败条件和依赖项并将所有内容存储为代码。

众多参数, 一个模板

项目配置变得更加简单。 从 2019.2 开始,您的 Kotlin DSL 配置可能会包含自定义参数,您可以稍后在 UI 中导入项目时定义这些参数。

运行更多任务, 更少等待时间。 使用 Git 补丁开始构建。

通过创建 Git 补丁、将它上传到 TeamCity 并运行个人构建来快速测试您的变更 - 无需创建任何分支或提交任何内容。

如需查看版本 2019.2 中的变更完整列表,请参阅 TeamCity 文档