TeamCity On-Premises 2024.03 Help

使用 TeamCity 进行持续集成

TeamCity 是一个持续集成 / 持续交付(CI / CD)服务器。

持续集成是一种软件开发实践,开发人员每天会多次将代码更改提交到共享仓库中。 每次提交后都会跟随一个自动化构建,以确保新的更改能够很好地融入现有的代码库,并尽早发现问题。

要了解持续集成的基础知识, 请参阅 我们的网站

什么是 TeamCity?

JetBrains TeamCity 是一款用户友好的持续集成(CI)服务器,面向开发人员和构建工程师 搭载专业服务器许可证,免费使用,并且易于设置!

这个视频概述了 TeamCity 的主要特性,并解释了 许可政策

您可以使用 TeamCity 做什么?

  • 在不同的平台和环境上同时运行并行构建

  • 优化代码集成周期,确保您的仓库中永远不会出现损坏的代码

  • 查看智能测试重新排序的即时测试结果报告

  • 运行 Java 和 .NET 的代码覆盖率和重复项查找器

  • 定制构建持续时间、成功率、代码质量和自定义指标的统计数据

  • 还有更多

要了解更多关于 TeamCity 主要功能的信息,请参考 JetBrains 官方网站

TeamCity 不仅适用于管理员和构建工程师,也适用于开发人员。 观看此视频,了解一些其标志性功能:

支持的平台和环境的完整列表可在此处 这里 查看。

基本的 TeamCity 概念

这个部分描述了主要的 TeamCity 概念。 您可以在 TeamCity 术语介绍 中找到更全面的解释。

TeamCity 构建系统包括一个服务器构建代理

概念

描述

构建代理

一个实际执行构建过程的软件片段。 它的安装和配置与 TeamCity 服务器是分开的。 代理可以安装在单独的机器(物理或虚拟)上,它可以运行与服务器相同的操作系统(OS)或不同的操作系统。
TeamCity 中的构建代理可以有不同的平台、操作系统和预配置环境。 不同类型的测试可以在不同的平台上同时进行,因此开发者可以获得更快的反馈和更可靠的测试结果。

TeamCity 服务器

服务器 自身 并不执行任何构建或测试: 服务器的工作是监控所有连接的构建代理, 根据兼容性要求,将 排队的构建 分配给代理, 并报告结果。 所有关于构建结果的信息(构建历史和除了构建工件和构建日志以外的所有与构建相关的数据)、VCS更改、代理、构建队列、用户帐户、用户权限等,都存储在数据库中。

项目

一个 TeamCity 项目对应于一个软件项目或软件项目的特定版本/发布。 一个项目是一系列的 build configurations 的集合。

构建配置

一组设置的组合,定义了构建过程。 设置包括下述的 VCS 根目录构建步骤构建触发器

VCS 根

一组版本控制设置(源路径、用户名、密码、签出模式 和其他设置),这些设置定义了 TeamCity 如何与版本控制系统(VCS)通信,以监视更改并获取构建的源代码。

构建步骤

待执行的任务。 每个构建步骤都由一个 build runner 表示,它提供与特定构建工具(比如 Ant、Gradle、MSBuild 等)、测试框架(例如 NUnit)或代码分析引擎的集成。 因此,您可以在单次构建中拥有多个步骤,并按顺序调用测试工具、代码覆盖率,例如,编译您的项目。

构建触发器

一条在某些事件中启动新构建的规则。 例如,每当 TeamCity 检测到配置的 VCS roots 发生 变更 时,VCS 触发器 将自动启动新的构建。

更改

您引入的任何源代码的修改。 如果一个变更已被提交到版本控制系统,但尚未包含在构建中,那么它被认为是某个构建配置的待定项。

构建

在代理上执行的 CI/CD 任务。 它包含一个或多个步骤,可以执行任何服务任务:编译、测试、部署、生成报告等等。

术语 build 既可能指的是构建的实际过程,也可能指构建的结果。 在触发构建后,它会被放入 构建队列 ,并且当兼容的代理变得可用时开始。 在构建完成后,构建代理将 构建工件 发送到服务器。

构建队列

一份已触发且等待启动的构建列表。 TeamCity 将在构建代理变为空闲状态时立即将它们分发给 兼容的 构建代理。 在代理开始执行时,队列中的构建任务会被分配给代理;在构建等待在构建队列中时,不会预先进行任务分配。

构建工件

由构建产生的文件,例如,安装程序,WAR 文件,报告,日志文件,在它们可供下载时。

TeamCity 中的基础 CI 工作流

为了理解服务器和代理之间的数据流,传递给代理的内容,以及何时以及如何 TeamCity 获取结果,让我们来看一下简单的构建生命周期。

使用 TeamCity 的基础 CI 流程
  1. TeamCity 服务器检测到您的 VCS 根目录(仓库)发生了变化。

  2. 服务器将此更改存储在数据库中。

  3. 附加到构建配置的触发器,检测数据库中的相关更改,并启动构建。

  4. 触发的构建将出现在构建队列中。

  5. 构建已分配给一个空闲的兼容构建代理。

  6. 代理执行在构建配置中描述的构建步骤。 在执行步骤时,代理向 TeamCity 服务器报告构建进度。 它实时发送所有的日志消息、测试报告、代码覆盖率结果,因此您可以实时监控构建过程。

  7. 构建完成后,代理会将构建工件发送到服务器。

最后修改日期: 16日 7月 2024年