TeamCity On-Premises 2024.03 Help

手动备份和恢复

服务器手动备份

还有其他方法可以创建备份可用。 如果您希望对备份过程进行细粒度控制,或需要为您的 TeamCity 备份使用特定程序,您可以使用此页面上的说明。 手动备份也可能是创建和恢复备份的最高效方式,因为它们可以根据使用的特定基础设施进行定制。

需要备份以下数据:

TeamCity 数据目录备份

TeamCity Data Directory(TeamCity 数据目录) 存储:

  • 服务器设置,项目及其构建配置与其设置(即,所有通过用户界面配置的内容);

  • 除非有其他地方被配置,否则默认构建工件。 构建日志也作为构建工件的一部分被存储;

  • 当前操作文件,内部数据结构等等。

有关目录结构和数据的更多详细信息,请参考 TeamCity Data Directory 部分。

如有必要,您可以从备份中排除目录的某些部分以节省空间:您只会丢失被排除的数据。 您可以放心地从备份中排除 system/caches 目录 - TeamCity 启动时将从头开始重建必要的数据。

如果您决定跳过备份 <TeamCity 数据目录>/system 目录下的数据,请务必记下 工件消息更改 子目录中最新的文件,并保存此信息。 如果您决定使用与数据库状态更新的 TeamCity 数据目录来恢复数据库备份,那么将需要此功能。

<TeamCity 数据目录>/system/buildserver.* 文件存储内部数据库(HSQLDB)的数据。 如果您使用 HSQLDB (默认设置不适合生产使用),那么您需要备份它们。

数据库数据

数据库存储所有关于构建结果的信息(构建历史和所有与构建相关的数据,除了工件和构建日志),VCS 更改,代理,构建队列,用户帐户和用户权限等等。

  • 如果您使用 HSQLDB,内部数据库(默认设置,不推荐用于生产),那么数据库将直接存储在 <TeamCity 数据目录>/system 目录中的文件里。 目录中的所有文件都可以备份。 您也可以参考 HSQLDB 备份说明

  • 如果您使用外部数据库,请使用特定于数据库的工具备份 TeamCity 使用的数据库模式。 对于 TeamCity 使用的外部数据库连接设置,请参阅 <TeamCity Data Directory>/config/database.properties 文件。 您也可以查看 相应的安装部分

应用程序文件

您无需备份 TeamCity 应用程序目录(仅含网络服务器和网络应用程序),只要您仍然拥有原始的分发包,并且您没有:

  • 将任何自定义库放置于 TeamCity 使用之中

  • 将任何非默认的 TeamCity 插件直接安装到网页应用程序文件中

  • 进行任何启动脚本/配置更改。

如果您觉得需要备份应用程序文件:

  • 如果您使用的是non-war发行版:备份所有 <TeamCity 数据目录> 下的内容,除了 tempwork 目录。

  • 如果您使用的是 war 分发版,请按照所使用的 servlet 容器的备份程序进行操作。

日志文件

如果您需要 TeamCity 服务器日志文件(主要用于解决问题或调试目的),请备份 <TeamCity 数据目录>/logs 目录。

手动还原服务器备份

如果您需要恢复使用网页界面或 maintainDB 实用程序创建的备份,请参考 从备份中恢复 TeamCity 数据。 这一部分描述了手动创建备份的恢复过程。

您应始终恢复 <TeamCity 数据目录> 中的数据和数据库中的数据。 数据库和目录都应该同步备份/恢复。

TeamCity 数据目录恢复

您可以简单地将之前备份的文件放回到它们原来的位置。 然而,在恢复备份时,十分重要的是不要存在任何额外的文件。 实现此目标的最简单方法是将备份恢复到一个干净的数据目录中。 如果这不可能,确保在备份完成后创建的文件已被清除。 尤其是在 <TeamCity 数据目录>/system 下的 工件消息更改 目录下新建的文件。

TeamCity 数据库恢复

必须使用特定于数据库的工具和方法来恢复数据库。 您可能还想使用特定于数据库的方法来加快恢复速度(例如将 SQL Server 的 "Recovery Model" 设置为 "Simple")。

在进行恢复之前,请确保 TeamCity 使用的架构中没有额外的表格。

恢复到新服务器

如果您想运行服务器的副本,请确保服务器使用不同的数据目录和数据库。 对于外部数据库,确保您修改 <TeamCity Data Directory>/config/database.properties 文件中的设置,以指向不同的数据库。

恢复构建日志

多个工件目录 中备份并恢复到单一目录 system/<project ID>/<build configuration name>/<internal_build_id>/.teamcity/logs 的构建日志位于 /log 的子目录 /artifacts

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