Two-node Server Configuration
Starting with this EAP, the The TeamCity server can operate in two modes now: main TeamCity server (default mode) and build messages processor.
If a TeamCity server is started in the build messages processor mode, its functionality is reduced to only one feature - process real time data coming from the running builds. The primary purpose of this mode is to provide the scalability option for really large installations running several hundreds of agents on a single server now and planning on expanding their installation in the future.
When two servers working in different modes are connected, they appear as two nodes on the server Administration | Nodes Configuration page.
Several important notes about two-node configuration:
- at the moment the server started in build messages processor node mode handles all of the data produced by running builds (build logs, artifacts, statistic values), pre-processes it and stores it in the database
- in a two-node installation the main TeamCity server handles all other tasks: user interface, VCS related activity, management of agents, etc.
- both the main TeamCity server and the build messages processor require access to the same data directory (which must be shared somehow if the nodes are installed on separate machines) and to the same database
- the URL where the build messages processor operates must be accessible by the agents and the main TeamCity server (occasionally the main TeamCity server also communicates with the build messages processor by HTTP)
- the main TeamCity server handles all other tasks: user interface, VCS related activity, management of agents, etc.
Installation & Start
First of all, ensure that both machines where TeamCity software will be installed share can access the same TeamCity data directory in read/write mode. For large installations we recommend using NAS. It is possible to share directory using NFS, or Windows share, although the performance of such installation can be worse.
Once you have two machines, proceed with installing TeamCity software as usual: download a distribution package, unpack it or follow the installation wizard.
TEAMCITY_DATA_PATH environment variable on both machines, make sure it points to the shared data directory.
Before starting a server in the build messages processor nodemode, add additional arguments to TEAMCITY_SERVER_OPTS environment variable, for example:
export TEAMCITY_SERVER_OPTS=-Dteamcity.server.mode=build-messages-processor -Dteamcity.server.rootURL=<processor url> <your regular options if you have them>
<processor url> is the URL where build messages processor will operate. This URL must be accessible by both the agents and main server. If you do not have an HTTP proxy installed in front of the eamCity TeamCity servlet container and you did not change the port in the servlet container during the installation, then by default this URL will be:
http://<your host name>:8111/