42 lines
950 B
Puppet
42 lines
950 B
Puppet
class jenkins_jobs($url, $username, $password, $site, $projects) {
|
|
|
|
package { 'python-yaml':
|
|
ensure => 'present'
|
|
}
|
|
|
|
file { '/usr/local/jenkins_jobs':
|
|
owner => 'root',
|
|
group => 'root',
|
|
mode => 755,
|
|
ensure => 'directory',
|
|
recurse => true,
|
|
source => ['puppet:///modules/jenkins_jobs/'],
|
|
require => Package['python-yaml']
|
|
}
|
|
|
|
file { '/usr/local/jenkins_jobs/jenkins_jobs.ini':
|
|
owner => 'root',
|
|
group => 'root',
|
|
mode => 440,
|
|
ensure => 'present',
|
|
content => template('jenkins_jobs/jenkins_jobs.ini.erb'),
|
|
replace => 'true',
|
|
require => File['/usr/local/jenkins_jobs']
|
|
}
|
|
|
|
process_projects { $projects:
|
|
site => $site,
|
|
require => [
|
|
File['/usr/local/jenkins_jobs/jenkins_jobs.ini'],
|
|
Package['python-jenkins']
|
|
]
|
|
}
|
|
|
|
package { "python-jenkins":
|
|
ensure => latest, # okay to use latest for pip
|
|
provider => pip,
|
|
require => Package[python-pip],
|
|
}
|
|
|
|
}
|