Update jenkins master config.

Add the required apache modules.
Add the jenkins archive key.
Make sure the jenkins repo is set up and apt-get update is run
before installing jenkins.

Change-Id: I503705d893246300e50f3b54da6114863dc8de93
This commit is contained in:
James E. Blair 2012-02-28 11:37:20 -08:00
parent 4ceea32697
commit 7e41c15581
3 changed files with 87 additions and 6 deletions

View File

@ -184,6 +184,12 @@ node "jenkins.openstack.org" {
include jenkins_master
}
node "jenkins-dev.openstack.org" {
$iptables_public_tcp_ports = [80, 443, 4155]
include openstack_server
include jenkins_master
}
node "community.openstack.org" {
$iptables_public_tcp_ports = [80, 443, 8099, 8080]
include openstack_server

View File

@ -0,0 +1,28 @@
define apt::key($keyid, $ensure, $keyserver = "keyserver.ubuntu.com") {
case $ensure {
present: {
exec { "Import $keyid to apt keystore":
path => "/bin:/usr/bin",
environment => "HOME=/root",
command => "gpg --keyserver $keyserver --recv-keys $keyid && gpg --export --armor $keyid | apt-key add -",
user => "root",
group => "root",
unless => "apt-key list | grep $keyid",
logoutput => on_failure,
}
}
absent: {
exec { "Remove $keyid from apt keystore":
path => "/bin:/usr/bin",
environment => "HOME=/root",
command => "apt-key del $keyid",
user => "root",
group => "root",
onlyif => "apt-key list | grep $keyid",
}
}
default: {
fail "Invalid 'ensure' value '$ensure' for apt::key"
}
}
}

View File

@ -1,8 +1,10 @@
class jenkins_master {
#TODO: apache modules: ssl, proxy, rewrite
#TODO: wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
#TODO: or something like: sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys KEYID
#This key is at http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key
apt::key { "D50582E6":
keyid => "D50582E6",
ensure => present,
}
file { '/etc/apt/sources.list.d/jenkins.list':
owner => 'root',
@ -11,6 +13,7 @@ class jenkins_master {
ensure => 'present',
content => "deb http://pkg.jenkins-ci.org/debian binary/",
replace => 'true',
require => Apt::Key['D50582E6'],
}
file { '/etc/apache2/sites-available/jenkins':
@ -26,14 +29,58 @@ class jenkins_master {
file { '/etc/apache2/sites-enabled/jenkins':
target => '/etc/apache2/sites-available/jenkins',
ensure => link,
require => File['/etc/apache2/sites-available/jenkins'],
require => [
File['/etc/apache2/sites-available/jenkins'],
File['/etc/apache2/mods-enabled/ssl.conf'],
File['/etc/apache2/mods-enabled/ssl.load'],
File['/etc/apache2/mods-enabled/rewrite.load'],
File['/etc/apache2/mods-enabled/proxy.conf'],
File['/etc/apache2/mods-enabled/proxy.load'],
File['/etc/apache2/mods-enabled/proxy_http.load'],
],
}
file { '/etc/apache2/sites-enabled/000-default':
require => File['/etc/apache2/sites-enabled/jenkins'],
require => File['/etc/apache2/sites-available/jenkins'],
ensure => absent,
}
file { '/etc/apache2/mods-enabled/ssl.conf':
target => '/etc/apache2/mods-available/ssl.conf',
ensure => link,
require => Package['apache2'],
}
file { '/etc/apache2/mods-enabled/ssl.load':
target => '/etc/apache2/mods-available/ssl.load',
ensure => link,
require => Package['apache2'],
}
file { '/etc/apache2/mods-enabled/rewrite.load':
target => '/etc/apache2/mods-available/rewrite.load',
ensure => link,
require => Package['apache2'],
}
file { '/etc/apache2/mods-enabled/proxy.conf':
target => '/etc/apache2/mods-available/proxy.conf',
ensure => link,
require => Package['apache2'],
}
file { '/etc/apache2/mods-enabled/proxy.load':
target => '/etc/apache2/mods-available/proxy.load',
ensure => link,
require => Package['apache2'],
}
file { '/etc/apache2/mods-enabled/proxy_http.load':
target => '/etc/apache2/mods-available/proxy_http.load',
ensure => link,
require => Package['apache2'],
}
$packages = [
"jenkins",
"python-pip",
@ -43,7 +90,7 @@ class jenkins_master {
package { $packages:
ensure => "latest",
require => File['/etc/apt/sources.list.d/jenkins.list'],
require => [File['/etc/apt/sources.list.d/jenkins.list'], Exec["update apt cache"]],
}
service { "versions":