Enable a specific version of jenkins to be installed
This is an update to https://review.openstack.org/#/c/354086/ so that puppet uses the dpkg provider with puppet archive to download & install a specific version of jenkins if jenkins_version isn't set to latest or present. Change-Id: I054b27b045e97c39f0706d110c05459e6b9d74a1
This commit is contained in:
parent
6116e612d5
commit
5991ee6a62
@ -13,7 +13,8 @@ class jenkins::master(
|
||||
$jenkins_ssh_private_key = '',
|
||||
$jenkins_ssh_public_key = '',
|
||||
$jenkins_default = 'puppet:///modules/jenkins/jenkins.default',
|
||||
$jenkins_version = present,
|
||||
$jenkins_version = 'present',
|
||||
$jenkins_deb_url_base = 'http://pkg.jenkins.io/debian/binary',
|
||||
) {
|
||||
include ::pip
|
||||
include ::apt
|
||||
@ -112,9 +113,40 @@ class jenkins::master(
|
||||
ensure => present,
|
||||
}
|
||||
|
||||
package { 'jenkins':
|
||||
ensure => $jenkins_version,
|
||||
require => Apt::Source['jenkins'],
|
||||
# jenkins apt-repo doesn't offer multiple versions
|
||||
# so if anything other than 'present' or 'latest'
|
||||
# is set, pull down the .deb using wget
|
||||
# and install via the dpkg resource
|
||||
if ($jenkins_version == 'present') or
|
||||
($jenkins_version == 'latest')
|
||||
{
|
||||
package { 'jenkins':
|
||||
ensure => $jenkins_version,
|
||||
require => Apt::Source['jenkins'],
|
||||
}
|
||||
} else {
|
||||
$jenkins_deb = "jenkins_${jenkins_version}_all.deb"
|
||||
$jenkins_deb_url = "${jenkins_deb_url_base}/${jenkins_deb}"
|
||||
$jenkins_deb_tmp = "/var/tmp/${jenkins_deb}"
|
||||
|
||||
archive { 'jenkins_deb':
|
||||
source => $jenkins_deb_url,
|
||||
path => $jenkins_deb_tmp,
|
||||
}
|
||||
|
||||
# required by jenkins.deb, but as we're not using apt,
|
||||
# no dependency resolution is performed.
|
||||
package { 'daemon': }
|
||||
|
||||
package { 'jenkins':
|
||||
# for the dpkg provider, latest means check the version,
|
||||
# installed/present skips the version check, we want to version
|
||||
# check so that we can move between versions using puppet
|
||||
ensure => latest,
|
||||
provider => dpkg,
|
||||
source => $jenkins_deb_tmp,
|
||||
require => [Package['daemon'], Archive['jenkins_deb']],
|
||||
}
|
||||
}
|
||||
|
||||
exec { 'update apt cache':
|
||||
|
Loading…
x
Reference in New Issue
Block a user