配置服务器安装
更改服务器端口
如果其他应用程序使用的端口与 TeamCity 服务器相同,那么服务器将无法启动。 这将导致服务器日志或服务器控制台出现 "Address already in use" 错误。
如果您从 .exe 安装服务器,您可以在安装向导中自定义端口。
要更改已安装/解压的服务器的端口,请打开 <TeamCity 安装目录>/conf/server.xml 文件,并在未被注释的 <Connector> XML 节点中设置另一个数字:
要应用这些更改,通过 重新启动服务器。
如果更改正在运行的 TeamCity 服务器的端口,您还需要更改服务器的所有存储 URL(浏览器书签、代理的 serverUrl properties 、用户 IDE 中的 URL、 Server URL设置在 管理 | 全局设置 页面上)。
如果您在同一台机器上运行另一个 Tomcat 服务器,您可能还需要更改该 Tomcat 服务器的其他服务端口(在 server.xml 文件中搜索 port=)。
如果您想要使用 HTTPS 协议,需要单独启用。 该过程特定于所使用的网络服务器(默认为 Tomcat)。 请查看如何为 TeamCity web UI 配置 HTTPS 的说明。
更改服务器上下文
默认情况下,TeamCity 服务器可在服务器地址的根上下文中访问(例如, http://localhost:8111/)。 为了使其在嵌套路径下可用(例如, http://localhost:8111/teamcity/ ),您需要:
停止 TeamCity 服务器。
将
<TeamCity 安装目录>\webapps\ROOT目录重命名为<TeamCity 安装目录>\webapps\teamcity。
配置 TeamCity 服务器的内存设置
TeamCity 服务器 有一个主进程,它也可以启动子进程。 子进程使用机器上的可用内存。 这一部分仅涵盖主 TeamCity 服务器进程的内存设置,因为它需要特殊配置。
作为 JVM 应用程序,TeamCity 主服务器进程只使用 JVM 可用的内存。 所需的内存取决于 JVM 的位数(64 位或 32 位)。 JVM 通常使用的内存包括: 堆 (通过 -Xmx 配置)和 元空间 (受可用本地内存量的限制),JVM 内部(通常几十 MB),以及像内存映射文件这样的 OS 依赖内存特性。 TeamCity 主要依赖于堆内存。 配置堆内存大小:
停止 TeamCity 服务器。
运行
sysdm.cpl命令并导航到 高级 | 环境变量。检查在 System variables 部分中是否存在
TEAMCITY_SERVER_MEM_OPTS条目,如果没有,请添加它。将此属性设为
Xmx<Size>值。 例如,TEAMCITY_SERVER_MEM_OPTS=-Xmx3g。 请参见下文段落以获取更多示例。重启您的服务器机器。
启动 TeamCity 服务器在您的服务器重新启动后。
停止 TeamCity 服务器。
打开
/etc/environment文件。检查文件中是否存在
TEAMCITY_SERVER_MEM_OPTS行,如果不存在,添加它。将此属性设为
Xmx<Size>值。 例如,TEAMCITY_SERVER_MEM_OPTS=-Xmx3g。 请参见下文段落以获取更多示例。保存文件并重新启动您的服务器机器。
启动 TeamCity 服务器在您的服务器重新启动后。
TEAMCITY_SERVER_MEM_OPTS 变量的可能值:
最小设置:
-Xmx1024m用于 64 位 Java(捆绑版),-Xmx750m用于 32 位 Java。中型服务器的推荐设置:
-Xmx2048m用于 64 位 Java,-Xmx1024m用于 32 位 Java。 对 32 位Java进行更大的设置可能会导致OutOfMemoryError与 "Native memory allocation (malloc) failed" (本地内存分配失败)的 JVM 崩溃,或产生 "Unable to create new native thread"(无法创建新的本地线程)的信息。大型服务器的推荐设置 (应使用 64 位 Java):
-Xmx4g。 这个设置应该适合于安装有多达两百个代理和数千个构建配置的系统。 自定义插件可能需要增加通过Xmx参数定义的值。大型服务器的最大设置 (应使用 64 位 Java):
-Xmx10g。 对于更大的 TeamCity 安装,可以使用更大的值。 然而,通常不建议在未咨询 TeamCity 支持的情况下使用大于10g的值。
ReservedCodeCacheSize=640m 属性默认为新服务器安装设置。 如果该属性在 TeamCity 2022.04.4 之前被指定,您将需要在升级后手动更新它。
如果出现 OutOfMemory 错误,或者您在 TeamCity UI 中反复看到与内存相关的警告,这意味着您需要将设置提升到下一个级别。
配置 TeamCity 数据目录
TeamCity 数据目录的默认位置可以更改。 查看 这篇文章 以获取详细信息。
配置服务器以供生产使用
开箱即用的 TeamCity 服务器安装适合于评估目的。 对于生产使用,您需要执行额外的配置。 它通常包括以下步骤:
检查服务器是否使用了正确的 服务器端口 ,并且配置了 通过 HTTPS 的访问。
确保 TeamCity 服务器 URL 和 电子邮件服务器 的设置是正确的。
配置服务器进程以便在机器重新启动时依赖操作系统的 autostart。
使用可靠的存储空间来存放 TeamCity Data Directory。
使用一个 外部数据库。
配置 推荐的内存设置。 对于活跃或增长中的服务器,使用"最大设置"。
计划定期进行 备份。
规划定期对最新的 TeamCity 发布版本进行 升级。
考虑将
teamcity.installation.completed=true行添加到<TeamCity Data Directory>\conf\teamcity-startup.properties文件中——这将防止服务器在未找到管理员用户时创建管理员用户。请务必阅读 关于配置服务器以提高性能的注释和 安全注释。