In order to more effectively manage the Jenkins project's infrastructure these manifests have been created. There a couple of reasons for this:
- Reproducibility: In the unfortunate scenario where a meteor falls on a datacenter where Jenkins hardware exists, we want to be able to bring a new host on to fulfill those needs as soon as possible.
- Distributable: With Puppet manifests stored in this repository, it is easier to accept infrastructure help from members of the Jenkins community, without necessarily giving root access out.
- Accountability: By funneling as much infrastructure work through Puppet as possible, we can have ensure the project has a very clear audit trail for specific infrastructure changes.
We use Vagrant to develop and test these manifests and
as such there is a Vagrantfile
already in the root directory. If you don't
already have Vagrant:
% sudo gem install vagrant
Once you have vagrant you should be able to execute the following command to bring up a test virtual machine and provision it:
% vagrant up
For development, you can just create your manifests and include them in
manifests/vagrant.pp
, once you're ready to re-run the puppet manifests you
can run the following command (no need to rebuild the VM):
% vagrant provision
If you have any questions, stop by the #jenkins
channel on the
Freenode network and ask
rtyler.
Failing that, the jenkinsci-users@
mailing list is a good place to ask for
help.