启动 TeamCity 服务器
启动服务器
如果 TeamCity 是使用 .exe 或 .tar.gz 分发版安装的,则可以通过位于 <TeamCity Home>/bin 目录中的 teamcity-server 脚本启动和停止。 这些脚本接受 run (在同一控制台中运行)、 start (启动一个新的分离过程并从脚本中退出)、和 stop 命令。 要重启 TeamCity,发送 stop ,然后在其停止后,发送 start。
(仅供评估)同时启动/停止 TeamCity 服务器和一个默认代理 ,使用 runAll 脚本,例如:
使用
runAll.bat start来启动服务器和默认代理。使用
runAll.bat stop来停止服务器和默认代理。
仅启动/停止 TeamCity 服务器 ,使用 teamcity-server 脚本并传递所需的参数。 启动脚本时不带参数,以查看使用说明。 teamcity-server 脚本支持 stop 命令的以下选项:
stop n— 向 TeamCity 服务器发送停止命令,并等待最多n秒以结束该过程。stop n -force— 向 TeamCity 服务器发送停止命令,等待n秒以结束进程,如果进程没有停止,终止服务器进程。
如果 TeamCity 服务器以 Windows 服务的形式安装,那么请遵循常规的启动和停止服务的流程。
如果您需要向服务器传递特殊属性,请参考 此文章。
您可以通过操作系统来配置 TeamCity 在您的机器上的自动启动(请参见 macOS 的示例)。
自动服务器启动
本节介绍如何配置系统以在启动时自动启动 TeamCity 服务器。
从 .exe 安装程序安装 TeamCity 时,请确保启用了“Server > Windows Service”选项。

通过控制面板打开 Windows 服务 窗口,或者运行
services.msc命令。将 TeamCity 服务器 服务的启动类型设置为“自动”。
有关更多信息,请参阅此 Microsoft 文章: 自动启动服务。
安装 TeamCity 并确保如果从命令行启动
bin/teamcity-server.sh start,它可以正常运行。创建一个 systemd 服务配置文件。
TEAMCITY_HOME="/opt/teamcity" # Replace with the actual TeamCity Server installation directory LINUX_USERNAME="my_username" # Replace with the Linux user account that should run the service LINUX_USERGROUP="my_groupname" # Replace with the primary group of that user sudo tee /etc/systemd/system/teamcity-server.service > /dev/null <<EOF [Unit] Description=TeamCity Server After=network.target [Service] Type=forking PIDFile=$TEAMCITY_HOME/logs/teamcity.pid ExecStart=$TEAMCITY_HOME/bin/teamcity-server.sh start ExecStop=$TEAMCITY_HOME/bin/teamcity-server.sh stop User=$LINUX_USERNAME Group=$LINUX_USERGROUP EnvironmentFile=/etc/environment [Install] WantedBy=multi-user.target EOF启用服务在重启后启动,并启动该服务。
sudo systemctl enable teamcity-server.service sudo systemctl start teamcity-server.service
安装 TeamCity 并确保如果从命令行启动
bin/teamcity-server.sh start,它可以正常运行。 这个指令假设 TeamCity 已安装到/Library/TeamCity。创建含有以下内容的
/Library/LaunchDaemons/jetbrains.teamcity.server.plist文件:<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "https://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>WorkingDirectory</key> <string>/Library/TeamCity</string> <key>Debug</key> <false/> <key>Label</key> <string>jetbrains.teamcity.server</string> <key>OnDemand</key> <false/> <key>KeepAlive</key> <true/> <key>ProgramArguments</key> <array> <string>/bin/bash</string> <string>--login</string> <string>-c</string> <string>bin/teamcity-server.sh run</string> </array> <key>RunAtLoad</key> <true/> <key>StandardErrorPath</key> <string>logs/launchd.err.log</string> <key>StandardOutPath</key> <string>logs/launchd.out.log</string> </dict> </plist>通过运行测试您的文件:
launchctl load /Library/LaunchDaemons/jetbrains.teamcity.server.plist这个命令应该能启动 TeamCity 服务器(您可以从
logs/teamcity-server.log和您的浏览器中看到这一点)。如果您不希望 TeamCity 以根权限启动,请在
.plist文件中指定UserName键,例如:<key>UserName</key> <string>teamcity_user</string>
TeamCity 服务器现在会在计算机启动时自动启动。 要配置 TeamCity 构建代理的自动启动,请参阅 专门部分。
启动 TeamCity 用户界面
您可以通过网络浏览器访问 TeamCity 用户界面。 默认地址分别是 http://localhost/ 用于 exe 分发和 http://localhost:8111/ 用于 tar.gz 分发。 如有必要,参见如何 更改服务器端口。
如果您在成功安装后无法访问 TeamCity UI,请参考 故障排除部分。
排查 TeamCity 安装问题
如果无法访问 TeamCity UI ,请检查以下内容:
TeamCity 服务器 服务正在运行(如果您已将 TeamCity 安装为 Windows 服务)。
TeamCity 服务器进程(Tomcat)正在运行(一个 Java 进程,运行在
<TeamCity Home>/bin目录中)。如果您从控制台运行服务器,控制台输出中的任何警告。
teamcity-server.log文件和<TeamCity Home>\logs目录中的其他文件用于错误消息。
服务器安装中最常见的问题之一就是使用了已经被其他程序使用的端口。 参见 如何更改默认端口。