This short article is a reminder to know the steps and actions in order to add a Ubuntu 14.04 build machine for Jenkins.
The steps are very similar to what I've described in Installation of FreeBSD for a jenkins build node. The virtual machine setup is the same (20G LVM partition, x86_64 CPU, 1Gb memory) and Ubuntu is installed from the ubuntu-14.04.1-server-i386.iso image.
Packages to build Ada software
The following commands install the GNAT Ada compiler with the libraries and packages to build various Ada libraries and projects including AWA.
# GNAT Compiler Installation
sudo apt-get install gnat-4.6 libaws2.10.2-dev libxmlada4.1-dev gprbuild gdb
# Packages to build Ada Utility Library
sudo apt-get install libcurl4-openssl-dev libssl-dev
# Packages to build Ada Database Objects
sudo apt-get install sqlite libsqlite3-dev
sudo apt-get install libmysqlclient-dev
sudo apt-get install mysql-server mysql-client
# Packages to build libaws2-2-10
sudo apt-get install libasis2010-dev libtemplates-parser11.6-dev
sudo apt-get install texinfo texlive-latex-base \
texlive-generic-recommended texlive-fonts-recommended
The libaws2-2-10 package was not functional for me (see bug 1348902) so I had to rebuild the Debian package from the sources and install it.
Packages to create Debian packages
When the Ada build node is intended to create Debian packages, the following steps are necessary:
sudo apt-get install dpkg-dev gnupg reprepro pbuilder debhelper quilt chrpath
sudo apt-get install autoconf automake autotools-dev
Packages and setup for Jenkins
Before adding the build node in Jenkins, the JRE must be installed and a jenkins
user must exist:
sudo apt-get install openjdk-7-jre subversion
sudo useradd -m -s /bin/bash jenkins
Jenkins will use ssh to connect to the build node so it is good practice to setup a private/public key to allow the Jenkins master node to connect to the slave. On the master, copy the jenkins user's key:
ssh-copy-id target-host
The Ada build node is then added through the Jenkins UI in Manage Jenkins/Manage Nodes.
Jenkins jobs
The jenkins master is now building 7 projects automatically for Ubuntu 14.04: Trusty Ada Jobs