###Build
Dependencies (and the rest of the build process) are managed by Maven. To build:
- Install Maven.
- Clone repository. Navigate a command prompt to the folder.
- Run
mvn clean install
, which will build and install all three projects.
Useful Maven Commands:
- Run
mvn clean install
from parent directory to do a full build. - Run
mvn eclipse:eclipse
to build an Eclipse project for one of the modules. - Run
mvn eclipse:eclipse -DdownloadSources=true -DdownloadJavadocs=true
to build an Eclipse project with javadocs and sources linked. - Run
mvn clean compile assembly:single
in one of the module folders to build a jar with dependencies included source
Travis CI Initially we configured our build to run on Travis CI
Jenkins
Since Travis CI did not meet the project requirements, we created a Jenkins server running on a local vagrant machine. Here is a screenshot of the web interface:
As indicated above, Maven manages our dependencies and the Jenkins server uses Maven to run the build process using. Here is a screenshot of a successful build notification.
Because we are running this locally, that is, without a public ip address, we could not setup a git hook. However, we set up a Git poll that simply pings the GitHub repository every 15 minutes (this is adjustable) and makes a build if there are changes
We created a slave vm (also using vagrant) that the master connects to via SSH to setup and execute tasks:
Here is a screenshot of the log when "slave 3" picked up a build job:
Our Jenkins config file and the config file for our job are found under jenkins/
.