rodm / teamcity-multi-node

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Example TeamCity Secondary Nodes

This project is used to setup TeamCity with Multiple Nodes to try out the Secondary Node functionality. The project is not an example of how to setup multiple TeamCity nodes. The project uses a Gradle plugin to create, delete, start and stop the TeamCity nodes.

The following steps sets up a MySQL database and creates and starts the TeamCity nodes.

Create a MySQL database container.

./gradlew createDatabase

This requires Docker and may require additional configuration, the following properties can be set in the gradle.properties file

docker.server.url=https://192.168.99.100:2736
docker.cert.path=<home dir>/.docker/machine/machines/default

Start the database.

./gradlew startDatabase

Configure TeamCity to use the database

./gradlew configureDatabase

Start the first node

./gradlew startNode1

This node is the main server and when first run will initialise the database and setup the administrator user. This should be completed before starting the other nodes. The configuration for the node uses a port offset of 100, this means the server will be accessed at the following URL, http://localhost:8211/.

Start the other nodes

./gradlew startNode2
./gradlew startNode3
./gradlew startNode4

The nodes should appear in the Nodes Configuration page in the Administration section, accessed at the following URL http://localhost:8211/admin/admin.html?item=nodesConfiguration.

To stop the nodes run

./gradlew stopNode1

To stop the database

./gradlew stopDatabase

About

License:Apache License 2.0


Languages

Language:Java 72.9%Language:Groovy 27.1%