TeamCity from JetBrains is my favorite build server. It “knows” what developers need, it simply works out-of-the-box instead of you spending time making it to work. There is an option to get it installed quickly with trial installation topology, when both server and single agent run on the same box. However it is preferable to isolate them from each other.
TeamCity Farm is a Maven project, which results in ZIP-archive with Vagrant project. The later
- creates VM with Centos 7.0
- installs Docker
- pull necessary images and starts Docker containers with
- mySQL database
- TeamCity 9 build server
- 2 TeamCity agents
The created Centos VM and installed Docker repeat your network proxy settings. Therefore you can use the project behind the company firewall
Final result: Ready for use TeamCity build server becomes available on your machine at http://localhost:8112/
How to use it?
Get Vagrant project
You can either download the released project using a button on the right or get sources and run Maven. The sources can be downloaded using a button on the right or, to get latest sources from GitHub, clone the repository
git clone https://github.com/JV-ration/teamcity-farm.git
cd teamcity-farm
Then change to the directory with unpacked sources and
mvn clean package
The line above will prepare ZIP file with Vagrant project in target
folder.
The line below will even unpack the ZIP in target/its/team-city-farm-0.0.2-SNAPSHOT
folder
mvn clean pre-integration-test -Prun-its
Create and run VM
Unpack the archive with Vagrant project and change to that directory Run the command below to create VM and prepare the build server
bin/vagrant/vagrant-up.sh vagrant.lck
Finish configuration of the build server
When VM is fully provisioned
- open the build server at http://localhost:8112/
- accept JetBrains TeamCity license
- enter the desired administrator name and password
- authorize both agents
Happy Building ;-)
What to expect shortly?
- Scripts for running Docker containers directly on your machine, so don't have use Vagrant and Virtual Box. Basically
there will be three different starting points:
- your platform does not support Docker => start with Vagrant, which will bring you to the next starting point;
- your box is vanilla installation => start with installation of Docker;
- your box has Docker => just pull images and start containers
- Utilization of fig to simplify Docker commands
- Whatever is seen the project issues
Pre-required software
- Recent JDK
- Maven 3.0.4 or higher, unless you download released Vagrant project
- Vagrant for managing virtual machine with
- Virtual Box (or another virtualization provider)
Who do I talk to?
- Viktor Sadovnikov @sadovnikov