mirror of
https://github.com/krislamo/vagrant-jenkins
synced 2025-09-08 03:59:30 +00:00
init
This commit is contained in:
80
Vagrantfile
vendored
Normal file
80
Vagrantfile
vendored
Normal file
@@ -0,0 +1,80 @@
|
||||
BOX = 'ebrc/centos-7-64-puppet'
|
||||
BOX_URL = ''
|
||||
TLD = 'jenkins.vm'
|
||||
|
||||
JENKINS_HOSTS = {
|
||||
:master => {
|
||||
:vagrant_box => BOX,
|
||||
:vagrant_box_url => BOX_URL,
|
||||
:wf_hostname => 'ci.' + TLD,
|
||||
:puppet_manifest => 'site.pp'
|
||||
},
|
||||
# :node => {
|
||||
# :vagrant_box => BOX,
|
||||
# :vagrant_box_url => BOX_URL,
|
||||
# :wf_hostname => 'node1.' + TLD,
|
||||
# :puppet_manifest => 'site.pp'
|
||||
# },
|
||||
}
|
||||
|
||||
[
|
||||
{ :name => 'vagrant-librarian-puppet', :version => '>= 0.9.2' },
|
||||
].each do |plugin|
|
||||
if not Vagrant.has_plugin?(plugin[:name], plugin[:version])
|
||||
raise "#{plugin[:name]} #{plugin[:version]} is required. Please run `vagrant plugin install #{plugin[:name]}`"
|
||||
end
|
||||
end
|
||||
|
||||
Vagrant.configure(2) do |config|
|
||||
|
||||
JENKINS_HOSTS.each do |name,cfg|
|
||||
config.vm.define name do |vm_config|
|
||||
|
||||
vm_config.vm.provider 'virtualbox' do |v|
|
||||
v.gui = false
|
||||
end
|
||||
|
||||
if Vagrant.has_plugin?('landrush')
|
||||
vm_config.landrush.enabled = true
|
||||
vm_config.landrush.tld = TLD
|
||||
end
|
||||
|
||||
vm_config.vm.box = cfg[:vagrant_box] if cfg[:vagrant_box]
|
||||
vm_config.vm.box_url = cfg[:vagrant_box_url] if cfg[:vagrant_box_url]
|
||||
vm_config.vm.hostname = cfg[:wf_hostname] if cfg[:wf_hostname]
|
||||
|
||||
vm_config.vm.synced_folder 'puppet/',
|
||||
'/etc/puppetlabs/code/',
|
||||
owner: 'root', group: 'root'
|
||||
|
||||
vm_config.ssh.forward_agent = true
|
||||
vm_config.ssh.pty = true
|
||||
|
||||
if ! File.exist?(File.dirname(__FILE__) + '/nolibrarian')
|
||||
vm_config.librarian_puppet.puppetfile_dir = 'puppet'
|
||||
vm_config.librarian_puppet.destructive = false
|
||||
end
|
||||
|
||||
if ( Vagrant.has_plugin?('landrush') and vm_config.landrush.enabled)
|
||||
# The Puppet manifests includes a firewalld reload that clobbers
|
||||
# the iptables dns nat rule added by Landrush. So save iptables
|
||||
# for restoration after Puppet provisioning.
|
||||
vm_config.vm.provision :shell, inline: '/sbin/iptables-save -t nat > /root/landrush.iptables'
|
||||
end
|
||||
vm_config.vm.provision :puppet do |puppet|
|
||||
puppet.environment = 'production'
|
||||
puppet.environment_path = 'puppet/environments'
|
||||
puppet.manifests_path = 'puppet/environments/production/manifests'
|
||||
puppet.manifest_file = cfg[:puppet_manifest]
|
||||
puppet.hiera_config_path = 'puppet/hiera.yaml'
|
||||
#puppet.options = ['--debug --trace --verbose']
|
||||
end
|
||||
if ( Vagrant.has_plugin?('landrush') and vm_config.landrush.enabled)
|
||||
vm_config.vm.provision :shell, inline: '/sbin/iptables-restore < /root/landrush.iptables'
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
end
|
Reference in New Issue
Block a user