Curse of the Polyglot Most Jenkins environments I’ve seen are very homogeneous - a Java shop, a Ruby shop, etc. My projects are anything but. Looking at my machine I’ve got:
Java 6, 7, 8 Python 2.7, 3.5 Ruby 2.2.3 Keeping track of each of these versions on the Jenkins server would be a pain. Its easier to containerize the build environment.
Installing Docker To build and start our build container we run the following commands:
Configure EC2 I opted for an t2.small Ubuntu 14.04 EC2 instance. This gives us two gigs of RAM and a single core for about .02 cents an hour. This should serve our purposes for a personal CI server.
Elastic IP Address I elected to not assign a public IP address / Amazon DNS as this will change everytime the server reboots. Instead I allocated an Elastic IP address (under Network & Security).