HowTo: build the jenkins vagrant-plugin

At present I am preparing some of the tools helpfull/necessary for continuous integration: jenkins, vagrant, gitlab, jira and puppet.
To make the first two of those work nicely together there exists a jenkins plugin called vagrant-plugin at https://github.com/rtyler/vagrant-plugin , https://github.com/smartlogic/vagrant-plugin and https://github.com/aberrios85/vagrant-plugin
I decided to use the last version, as the original supports only very aged versions of jenkins and vagrant.

This is how the plugin can be build into a hpi file: (validated by hours of trial and error)


# install rvm and jruby in one command
curl -sSL https://get.rvm.io | bash -s stable --ruby=jruby
# activate rvm
source ~/.rvm/scripts/rvm
# get the vagrant-plugin sources
git clone https://github.com/aberrios85/vagrant-plugin.git
cd vagrant-plugin
# install needed gems
bundle install
# build the whole bunch
jpi build

Now you can install the plugin pkg/vagrant.hpi into your jenkins. But pay attention – depending on your webserver configuration you might need to increase settings … for example „client_max_body_size“ in nginx, if you want to use the upload feature of the jenkins web interface.