1
0
mirror of https://github.com/krislamo/vagrant-jenkins synced 2024-11-09 21:20:35 +00:00

updated README

This commit is contained in:
Mark Heiges 2016-09-02 09:30:49 -04:00
parent 6cd71013f4
commit 0bf098d253

View File

@ -1,10 +1,109 @@
# Jenkins
This Vagrant project will provision a VirtualBox machine with Jenkins.
The intended use cases are
- development on the `ebrc_jenkins` Puppet module
- a playground for Jenkins job configuration before unleashing to production
- including pre-flighting Jenkins upgrades
- a sandbox for Jenkins plugin development
Only the master Jenkins server is provisioned at this time. Provisioning
a separate worker node has not been implemented. Of course the master
server can also serve as a worker so this single node will be sufficient
for most use cases.
Prerequisites
=====
The host computer needs the following.
Vagrant
---------------
Vagrant manages the lifecycle of the virtual machine, following by the instructions in the `Vagrantfile` that is included with this project.
[https://www.vagrantup.com/downloads.html](https://www.vagrantup.com/downloads.html)
You should refer to Vagrant documentation and related online forums for information not covered in this document.
VirtualBox
------------------
Vagrant needs VirtualBox to host the virtual machine defined in this project's `Vagrantfile`. Other virtualization software (e.g. VMWare) are not compatible with this Vagrant project as it is currently configured.
[https://www.virtualbox.org/wiki/Downloads](https://www.virtualbox.org/wiki/Downloads)
You should refer to VirtualBox documentation and related online forums for information not covered in this document.
Vagrant Librarian Puppet Plugin
--------------------------------------
This plugin downloads the Puppet module dependencies. Install the plugin with the command
vagrant plugin install vagrant-librarian-puppet
Vagrant Landrush Plugin (Optional)
--------------------------------------
The [Landrush](https://github.com/phinze/landrush) plugin for Vagrant
provides a local DNS where guest hostnames are registered. This permits,
for example, the `rs1` guest to contact the iCAT enabled server by its
`ies.vm` hostname - a requirement for iRODS installation and function.
This plugin is not strictly required but it makes life easier than
editing `/etc/hosts` files. This plugin has maximum benefit for OS X
hosts, some benefit for Linux hosts and no benefit for Windows. Windows
hosts will need to edit the `hosts` file.
EBRC uses a custom fork of Landrush. In an OS X terminal, run the
following.
git clone https://github.com/mheiges/landrush.git
cd landrush
rake build
vagrant plugin install pkg/landrush-0.18.0.gem
_If you have trouble getting the host to resolve guest hostnames through landrush try clearing the host DNS cache by running_
`sudo killall -HUP mDNSResponder`.
You should refer to Landrush and Vagrant documentation and related online forums for information not covered in this document.
Usage
=======
git clone git@github.com:EuPathDB/vagrant-jenkins.git
cd vagrant-jenkins
vagrant up
The default Jenkins website will be available at
http://ci.jenkins.vm:9191/
Setup and Configuration
=======
For most use cases no configuration is needed.
Jenkins is provisioned using Puppet using adjustable parameters defined
in the Hiera file `puppet/environments/production/hieradata/common.xml`
The configuration changes you may be interested in include the Jenkins
version and network ports that the server listens on. These are defined
in the `ebrc_jenkins::instances` Hiera hash.
The most important Puppet module in play here is `ebrc_jenkins` so see
that module's documentation at
https://github.com/EuPathDB/puppet-ebrc_jenkins for details.
Manual Puppet Run
=======
When doing `ebrc_jenkins` Puppet module development you can trigger a
run of the puppet agent with `vagrant provision` on the Vagrant host or
by running the puppet agent on the guest.
sudo /opt/puppetlabs/bin/puppet apply --environment=production /etc/puppetlabs/code/environments/production/manifests/site.pp