Setting up my infrastructure – Part 7: The evaluation begins: Installations
After I picked the evaluation candidates I first tried a test-setup on a development VM at home.
Download
For this I downloaded the evaluation products from the Atlassian homepage and the free installers from JetBrains. Please note the slight difference between a ‘product’ and an ‘installer’ download. I wanted to do a side-by-side installation of all tools on the same VM to compare them easily.
Just as a little side-note, I will do a blog post on my hardware that drove me crazy during the evaluation. Just so far by now: I have a Drobo storage attached to my server at home, and I had the virtual server hard disks on that drive. Now guess what happens when suddenly the host machine looses the connection to the Drobo. Regularly and over and over again. But as said, this will be part of a separate blog post on its own.
So, after the download I ended up with two .exe installers for YouTrack and TeamCity, and with two zip archives for Jira and Bamboo. The Atlassian web site then directed me to a documentation link where I had to look for the installation instructions matching my setup.
Installation
All four products are Java-based.
JetBrains solved this very sound by obviously packaging the required runtime directly into their programs. I did not need to install Java on the system before installing YouTrack and TeamCity. Both programs as well as the first build agent of TeamCity were installed as autostart windows services automagically. They installed fine and directly started to run on the their corresponding port that I could change in the installer.
Now the tricky part began: Installing the Atlassian tools. First of all, the documentation suggested to install the 32-bit SDK, even on 64-bit machines. Just to get this straight: We’re talking about software that aims to be run in a production environment for enterprises, and they suggest using a lot of ram. This was my first WTF-moment with the Atlassian tools. I loved to choose a 64-bit runtime, and not the SDK but the real run time, but well…
So, I installed Java. The JDK. For 32 bit. I then had to unzip the zip file and choose an installation and an instance folder: Second WTF-moment. The instance folder is something like the working directory of the program. Okay, so I did. In a small side-note in the installation documentation there is mentioned that there should be no space in any path name. “Any” means, no spaces in the path to Java, the products installation directory and the products instance directory. Of course, Java is installed in “C:Program Files…” by default. With a space in it.
Being a software developer myself I can only shake my head about such a ridiculous requirement. A software should be written in a way that it can cope with valid paths on the corresponding operating system. Especially software that is intended to help other software developers. Well, of course I ran into problems with my default Java installation location and had to uninstall and re-install Java again to another location.
The next tricky part was installing the Atlassian software as a windows service. You have to manually use a Java service wrapper tool for that. Oh, and I almost forgot: To configure Jira and Bamboo you need to manually edit configuration files, which are not really well documented…
After all, I got all four system to run. That is, I could open them in the browser and set the systems up.
So far, it’s an extremely clear plus for YouTrack and TeamCity. Installation is very easy and no hassle with config files, Java paths and service wrapper tools. The Atlassian stuff might be suited for enterprise use with a special person dedicated to setting up, configuring, fine-tuning and maintaining the system, but for a one-man show the overhead of a simple tool installation seems too much.
In the next post I’m going to describe the first functionality tests.
Continue with the next part, or see the other parts in this series
- Setting up my infrastructure - Part 1: Basic tools
- Setting up my infrastructure - Part 2: Automate everything
- Setting up my infrastructure - Part 3: Bug tracker requirements
- Setting up my infrastructure - Part 4: Build server requirements
- Setting up my infrastructure - Part 5: Additional tools, server and hosting
- Setting up my infrastructure - Part 6: The evaluation candidates
- Setting up my infrastructure – Part 7: The evaluation begins: Installations
- Setting up my infrastructure – Part 8: A little bit more evaluation