murano-deployment/murano-ci/config/puppet-ci/manifests/jenkins_jobs.pp

45 lines
1.8 KiB
Puppet

$jenkins_hash = hiera_hash('jenkins', {})
$jenkins_job_hash = pick($jenkins_hash['jobs'], {})
$project_config_hash = hiera_hash('project_config', {})
$git_source_hash = hiera_hash('git_source', {})
$jenkins_job_builder = pick($git_source_hash['jenkins_job_buidler'], {})
$jenkins_username = pick_default($jenkins_hash['user'], 'jenkins')
$jenkins_password = pick_default($jenkins_hash['password'], '')
$jenkins_url = pick_default($jenkins_job_hash['jenkins_url'], "http://127.0.0.1:8080")
$jjb_update_timeout = 1200
$jjb_git_url = pick($jenkins_job_builder['repository'], 'https://git.openstack.org/openstack-infra/jenkins-job-builder')
$jjb_git_revision = pick($jenkins_job_builder['revision'], 'master')
$project_config_repo = pick_default($project_config_hash['repository'], '')
$project_config_base = pick_default($project_config_hash['base'], '')
$project_config_rev = pick_default($project_config_hash['revision'], 'master')
if ! defined(Class['project_config']) {
class { 'project_config':
url => $project_config_repo,
revision => $project_config_rev,
base => $project_config_base,
}
}
class { '::jenkins::job_builder':
url => $jenkins_url,
username => $jenkins_username,
password => $jenkins_password,
jenkins_jobs_update_timeout => $jjb_update_timeout,
git_revision => $jjb_git_revision,
git_url => $jjb_git_url,
config_dir => $::project_config::jenkins_job_builder_config_dir,
require => $::project_config::config_dir,
}
# directory for ci infra scripts
file { '/opt/ci-tools/':
ensure => 'directory',
owner => 'jenkins',
group => 'jenkins',
mode => '0755',
}