mirror of
https://github.com/krislamo/vagrant-jenkins
synced 2024-11-09 21:20:35 +00:00
updated README
This commit is contained in:
parent
6cd71013f4
commit
0bf098d253
99
README.md
99
README.md
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user