服务器管理员指南
本节重点介绍 服务器管理 :安装 TeamCity 服务器和代理、配置多节点设置、设置用户权限等。
TeamCity 构建系统由 服务器 和 生成代理 组成。 以下部分概述了关于这些组件的关键信息。
代理是一种软件,通常用于检出源代码、下载其他构建的工件并运行构建过程。 它的安装和配置与 TeamCity 服务器是分开的。
代理可以安装在物理机器和 云托管的虚拟机器上。
note
TeamCity 代理可以安装在与 TeamCity 服务器相同的机器上。 然而,出于生产目的,我们建议将它们安装在不同的机器上,原因有很多,其中最重要的是服务器性能。
代理可以运行任何 兼容的构建配置的构建。 每个代理可以有一个独特的环境:架构、操作系统、已安装的工具等。 这些属性定义了代理可以运行哪些构建。
一个代理可以一次运行一个构建。 代理的数量基本上限制了并行构建的数量以及运行构建过程的环境数量。
为了确保代理的平稳运行,您需要定期更新从可执行文件或归档文件安装的代理的核心软件和工具。 例如,在将 TeamCity 服务器升级到较新版本后,从现有虚拟机镜像启动的所有云代理需要一些时间来更新(此过程会自动进行,但会延迟排队构建开始的时间)。 为了确保您的代理始终运行最新的软件,请将它们作为 Docker 容器运行。
由于构建可以在 Docker 或 Podman 容器中运行,代理机器的操作系统本身并不限制代理与项目的兼容性。 换句话说,您可以在 Windows 代理上运行特定于 Linux 的任务,反之亦然。
相关文章: 安装并启动 TeamCity 代理
TeamCity 会将构建历史、用户、构建结果以及一些运行时数据存储在内置的 SQL 数据库中。
当前使用的数据库显示在 管理 | 全局设置 页面上。 它还在服务器启动时的 teamcity-server.log
中提到。 HSQL*
意味着正在使用内部数据库。 为了稳定性和安全性,建议将默认的 HSQL 迁移到位于单独机器上的外部数据库。
tip
如果您一直在使用内部数据库评估 TeamCity,并且想要从中复制数据,请阅读如何 迁移到外部数据库。
有关更多信息,请参阅本节: 设置外部数据库
TeamCity 服务器可以配置为使用多个节点(或服务器)以实现高可用性和灵活的负载分配。 可以设置一个 TeamCity 节点群集,其中每个节点负责不同的任务,如处理来自构建的数据或从 VCS 仓库收集更改。 或者,保持一个主节点来进行所有的工作,以及一个提供只读接口的次要节点。 如果主节点发生故障,所有的数据处理都可以在最短的停机时间内切换到次级节点。
请参阅本文以了解更多信息: 多节点设置以实现高可用性
TeamCity 提供了多种诊断工具和指标来监控和排查服务器问题,包括详细的服务器日志、健康报告和资源监视器。 这些工具使得识别和调查问题变得更容易,如果需要,您可以在您的服务器上 报告问题。
有关更多信息,请参阅以下主题: TeamCity 监控与诊断、 构建代理配置和维护
CI/CD 服务器是现代软件开发的核心,掌控着您的内部流程、用户凭据以及与 AWS 构建代理、Google Cloud 工件存储或 HashiCorp Vault 等外部服务的集成。 一次安全漏洞可能会暴露关键基础设施,因此强有力的保护至关重要。 请参阅以下文章以了解有关 TeamCity 保护基本层的更多信息:
warning