Jenkins is an excellent platform for managing automated builds and getting started on Ubuntu Server is a snap. This guide covers the setup of Jenkins as well as how to use the default Ubuntu Apache web-server installation as a front-end to make URL’s nicer.
Installing Jenkins itself is pretty straightforward using default package system:
sudo apt-get install jenkins
After the installation completes you can access the Jenkins installation at http://SERVER_IP:8080/
With Jenkins now running lets do something to hide the port at the end. Maybe somewhere down the road you’ll want to change the port that Jenkins runs on (as 8080 is a commonly used port), hiding this detail away allows for changes in the future without anyone needing to update their bookmarks.
In this example http://builds.mydomain.com is the target URL where Jenkins should be accessed. First, create a new available site to configure Apache to route requests for this domain to Jenkins.
sudo touch /etc/apache2/sites-available/builds-mydomain
Open this file and add the following configuration.
<VirtualHost *:80> ServerName builds.mydomain.com ProxyPass / http://localhost:8080/ ProxyPassReverse / http://localhost:8080/ ProxyRequests Off <Proxy http://localhost:8080/*> Order deny,allow Allow from all </Proxy> </VirtualHost>
Using mod_proxy Apache is able to forward requests back and forth via the specified ServerName entry. After saving the configuration enable the site and then reload the Apache configuration.
sudo a2ensite builds-mydomain sudo service apache2 reload
There you have it, a simple setup for a powerful continuous integration server!