Create a jenkins server like http://jenkins.openstack.org

Refactor the jenkins server portion out of:
https://git.openstack.org/cgit/openstack-infra/system-config/tree/modules/openstack_project/manifests/jenkins.pp

Related system-config change: Ia18fe6e298caa5a9b017e6c6f5ef6f189f150335

Change-Id: I635f039021f67828f6d13b13527288aedc9e4390
This commit is contained in:
Tristan Cacqueray
2015-05-07 20:46:56 +00:00
parent 8fb7c76ed2
commit 9e618503c5

View File

@@ -0,0 +1,89 @@
# == Class: openstackci::jenkins_master
#
class openstackci::jenkins_master (
$serveradmin,
$vhost_name = $::fqdn,
$logo = '', # Logo must be present in puppet-jenkins/files
$ssl_cert_file = '/etc/ssl/certs/ssl-cert-snakeoil.pem',
$ssl_key_file = '/etc/ssl/private/ssl-cert-snakeoil.key',
$ssl_chain_file = '',
$ssl_cert_file_contents = '',
$ssl_key_file_contents = '',
$ssl_chain_file_contents = '',
$jenkins_ssh_private_key = '',
$jenkins_ssh_public_key = '',
) {
class { '::jenkins::master':
vhost_name => $vhost_name,
serveradmin => $serveradmin,
logo => $logo,
ssl_cert_file => $ssl_cert_file,
ssl_key_file => $ssl_key_file,
ssl_chain_file => $ssl_chain_file,
ssl_cert_file_contents => $ssl_cert_file_contents,
ssl_key_file_contents => $ssl_key_file_contents,
ssl_chain_file_contents => $ssl_chain_file_contents,
jenkins_ssh_private_key => $jenkins_ssh_private_key,
jenkins_ssh_public_key => $jenkins_ssh_public_key,
}
jenkins::plugin { 'build-timeout':
version => '1.14',
}
jenkins::plugin { 'copyartifact':
version => '1.22',
}
jenkins::plugin { 'dashboard-view':
version => '2.3',
}
jenkins::plugin { 'gearman-plugin':
version => '0.1.1',
}
jenkins::plugin { 'git':
version => '1.1.23',
}
jenkins::plugin { 'greenballs':
version => '1.12',
}
jenkins::plugin { 'extended-read-permission':
version => '1.0',
}
jenkins::plugin { 'zmq-event-publisher':
version => '0.0.3',
}
# TODO(jeblair): release
# jenkins::plugin { 'scp':
# version => '1.9',
# }
jenkins::plugin { 'jobConfigHistory':
version => '1.13',
}
jenkins::plugin { 'monitoring':
version => '1.40.0',
}
jenkins::plugin { 'nodelabelparameter':
version => '1.2.1',
}
jenkins::plugin { 'notification':
version => '1.4',
}
jenkins::plugin { 'openid':
version => '1.5',
}
jenkins::plugin { 'postbuildscript':
version => '0.16',
}
jenkins::plugin { 'publish-over-ftp':
version => '1.7',
}
jenkins::plugin { 'simple-theme-plugin':
version => '0.2',
}
jenkins::plugin { 'timestamper':
version => '1.3.1',
}
jenkins::plugin { 'token-macro':
version => '1.5.1',
}
}