Andrew Hutchings e53a05ac39 Add Jenkins job filler to puppet
Adds default Openstack jobs for a given project name into Jenkins

To envoke add a section as follows to your site manifest:

  class { "jenkins_jobs":
    site => "openstack",
    projects => ["project1", "project2"]
  }

Now using xml building blocks!

Change-Id: If4cacba91d3dc22207e53413543e5bcfcfb0b541
2012-03-20 15:40:01 +00:00

45 lines
1.3 KiB
Puppet

define jenkins_jobs::job($site, $project, $job, $triggers="", $builders, $publishers="", $logrotate="", $scm="") {
file { "/var/lib/jenkins/jobs/${project}-${job}":
ensure => directory,
owner => 'jenkins',
group => 'nogroup'
}
file { "/var/lib/jenkins/jobs/${project}-${job}/builds":
ensure => directory,
owner => 'jenkins',
group => 'nogroup',
require => File["/var/lib/jenkins/jobs/${project}-${job}"],
notify => Service["jenkins"]
}
file { "/var/lib/jenkins/jobs/${project}-${job}/config-history":
ensure => directory,
owner => 'jenkins',
group => 'nogroup',
require => File["/var/lib/jenkins/jobs/${project}-${job}"],
notify => Service["jenkins"]
}
file { "/var/lib/jenkins/jobs/${project}-${job}/config.xml":
ensure => present,
content => template("jenkins_jobs/body.xml.erb"),
owner => 'jenkins',
group => 'nogroup',
require => File["/var/lib/jenkins/jobs/${project}-${job}"],
notify => Service["jenkins"]
}
file { "/var/lib/jenkins/jobs/${project}-${job}/nextBuildNumer":
ensure => present,
content => "1",
owner => 'jenkins',
group => 'nogroup',
replace => false,
require => File["/var/lib/jenkins/jobs/${project}-${job}"],
notify => Service["jenkins"]
}
}