From 9e618503c55a2375753185e7bca1655be7eb9c46 Mon Sep 17 00:00:00 2001 From: Tristan Cacqueray Date: Thu, 7 May 2015 20:46:56 +0000 Subject: [PATCH] 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 --- manifests/jenkins_master.pp | 89 +++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 manifests/jenkins_master.pp diff --git a/manifests/jenkins_master.pp b/manifests/jenkins_master.pp new file mode 100644 index 0000000..e372d84 --- /dev/null +++ b/manifests/jenkins_master.pp @@ -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', + } +}