TeamCity 配置即代码

借助配置即代码,将您的自动化 CI/CD 管道提升到新水平。在版本控制中存储和管理您的 TeamCity 构建配置,以提高可重用性、可移植性、可维护性和一致性。

TeamCity Configuration as Code.

通过以代码形式存储管道,获得版本控制的所有优势

高效地跨项目复制构建逻辑,一致地对多个配置应用更新,系统地管理您的管道。

轻松将您的构建配置还原到先前版本。

为每项更新实现同行评审流程。

控制对管道逻辑的访问。

保留每项更改的审核日志。

您的 CI/CD 管道的单一可信来源

让 VCS 成为构建配置和应用程序代码的单一可信来源,解锁源代码控制的所有优势。使用 TeamCity,您可以选择是将通过 Web UI 完成的更改自动同步到您的版本控制系统,还是禁止在 UI 中编辑构建配置,并要求在代码中进行所有更改。

  • 支持 Git、Mercurial、Perforce、Subversion 和 Azure DevOps(以前称为 TFS)。
  • 使用 Kotlin DSL 或 XML 文件定义构建配置设置,并在 TeamCity 中查看结果。
  • 使用分支、拉取请求、差异和标记来管理对管道的更改。
  • 轻松回滚到构建和测试管道的早期迭代。
  • 借助完整的审核日志跟踪每项更新。

成熟的编程语言的强大功能

使用 Kotlin DSL,您可以获得整个编程语言的所有优势以及旨在以代码形式构建管道的 DSL 的优势。

通过直观的静态类型语言使用每个 TeamCity 构建功能。

定义您自己的类、函数和库,以编写高效、结构良好的管道逻辑。从外部库中导入功能。

通过 IntelliJ IDEA 编写构建配置,并从代码导航、自动补全、语法高亮显示和重构建议中受益。

使用易于理解的代码配置顺序和并行构建链。在 TeamCity UI 中预览特定配置的设置。

听起来不错!但我没用过 Kotlin…

使用 Kotlin 可以带来诸多优势,而且能够比使用 YAML 更轻松地配置管道。它乍看起来可能令人生畏,尤其是如果您以前没有使用过 Kotlin,但事实并非如此。为了帮助您在 Kotlin 中编写配置,TeamCity 会自动为您的所有设置生成 DSL 代码,您可以在管理员 UI 中进行预览。

Sounds Great! But I Don’t Speak Kotlin...

大规模运行 CI/CD

当您跨不同平台并使用每个框架或软件开发工具包的多个版本构建和测试更改时,构建配置的数量会迅速成倍增加。通过以代码形式管理这些配置,您可以重用脚本,并且仅需几行代码即可封装设置。

Operate CI/CD at Scale.

借助 TeamCity 的 Kotlin DSL,您可以将管道配置简化为易于重用和维护的代码,在几秒钟内更新每个构建作业的设置。

了解 Picnic 如何使用 TeamCity Cloud 和 Kotlin DSL 加快构建速度

“我们的政策是禁止在 TeamCity 的 UI 中进行编辑。我们的目标之一是使管道实现标准化。我们的实现方法是使用配置即代码。所有构建配置都作为 Kotlin 代码存储在各自的仓库中。我们基于 TeamCity Kotlin DSL 构建了自己的 DSL,这样我们就能够使用 20 行或更少的代码来定义管道。”

– Ivan Babiankou,Picnic 高级软件工程师

利用清晰简洁的文档

TeamCity 中的 Kotlin DSL 提供了清晰、广泛的文档,您可以依靠这些文档来设置项目。只需将文档中的示例直接复制粘贴到您的代码库,便始终可以知道下一步要使用哪个函数。

Take Advantage of Clear and Concise Documentation

您实现“持续一切”的途径

通过为您的 CI/CD 管道应用配置即代码,TeamCity 帮助您朝 DevOps 持续反馈和改进的目标又迈进一步。无论您是从 TeamCity UI 修改设置还是仅更改代码,管道的每项更新都可以在部署之前经过一系列手动检查和自动测试。

  • 在应用管道更改之前,通过强制执行代码审查和自动化测试,减少错误,提高质量。
  • 在所有检查都通过后,将自动使用新配置更新实时管道。
  • 在 TeamCity 中查看最新配置更改的影响。
  • 通过运行带有当时应用的构建配置设置的历史构建来重现构建和排查构建问题。
  • 识别每项更改的作者,无论这些更改是从 UI 中还是在代码中进行的。

常见问题解答

什么是配置即代码?

配置即代码是一种适用于 CI 服务器的成熟做法。这种方式的优点包括通过 VCS 仓库支持版本控制,简化配置更改的审核,提高配置的可移植性。与通过 UI 进行点击配置相比,一些用户可能也更喜欢代码。

以代码形式配置 CI/CD 项目设置有哪些优势?

作为一种概念,使用代码配置构建要比在 UI 中配置更好。您可以将代码存储在仓库中并更好地控制更改,回滚到先前版本,还可以查看更改历史记录。同样,以代码形式维护和传输设置要比在 UI 中重新配置所有内容更加容易。

TeamCity 如何支持配置即代码?

可以通过多种方式以代码形式存储配置。TeamCity 支持其中两种:XML 和 Kotlin DSL。

使用 Kotlin DSL 以代码形式配置设置有哪些优势?

与 XML 相比,Kotlin DSL 在以代码形式配置您的项目设置方面具有多项优势:

  • 对代码进行更多控制.
  • 更好地支持大项目。
  • 更灵活地进行配置。
  • 通过重用代码来节省时间。

开始使用 TeamCity

强大的 CI/CD,适用于希望以代码形式存储项目配置的团队