add installation and yumrepo
This commit is contained in:
8
manifests/init.pp
Normal file
8
manifests/init.pp
Normal file
@@ -0,0 +1,8 @@
|
||||
## jenkins_cd::init.pp
|
||||
# Module name: jenkins_cd
|
||||
# Author: Arne Teuke (arne_teuke@confdroid.com)
|
||||
# @summary Class initializes the jenkins_cd module.
|
||||
##############################################################################
|
||||
class jenkins_cd {
|
||||
include jenkins_cd::params
|
||||
}
|
||||
10
manifests/main/config.pp
Normal file
10
manifests/main/config.pp
Normal file
@@ -0,0 +1,10 @@
|
||||
## jenkins_cd::main::config.pp
|
||||
# Module name: jenkins_cd
|
||||
# Author: Arne Teuke (arne_teuke@confdroid.com)
|
||||
# @summary Class manages the logic for the jenkins_cd module.
|
||||
##############################################################################
|
||||
class jenkins_cd::main::config (
|
||||
|
||||
) inherits jenkins_cd::params {
|
||||
include jenkins_cd::main::install
|
||||
}
|
||||
15
manifests/main/install.pp
Normal file
15
manifests/main/install.pp
Normal file
@@ -0,0 +1,15 @@
|
||||
## jenkins_cd::main::install.pp
|
||||
# Module name: jenkins_cd
|
||||
# Author: Arne Teuke (arne_teuke@confdroid.com)
|
||||
# @summary Class manages installation details
|
||||
##############################################################################
|
||||
class jenkins_cd::main::install (
|
||||
|
||||
) inherits jenkins_cd::params {
|
||||
require java_cd
|
||||
require jenkins_cd::main::yumrepo
|
||||
|
||||
# package { $reqpackages:
|
||||
# ensure => $pkg_ensure,
|
||||
# }
|
||||
}
|
||||
27
manifests/main/yumrepo.pp
Normal file
27
manifests/main/yumrepo.pp
Normal file
@@ -0,0 +1,27 @@
|
||||
## jenkins_cd::main::yumrepo.pp
|
||||
# Module name: jenkins_cd
|
||||
# Author: Arne Teuke (arne_teuke@confdroid.com)
|
||||
# @summary Class manages yum repos for the installation
|
||||
##############################################################################
|
||||
class jenkins_cd::main::yumrepo (
|
||||
|
||||
) inherits jenkins_cd::params {
|
||||
yumrepo { 'jenkins':
|
||||
descr => 'Jenkins-stable',
|
||||
baseurl => $js_base_url,
|
||||
gpgcheck => '1',
|
||||
enabled => '1';
|
||||
}
|
||||
|
||||
# import rpm key
|
||||
|
||||
exec { $js_key_url:
|
||||
command => "rpm --import ${js_key_url}",
|
||||
path => '/bin:/usr/bin:/sbin:/usr/sbin',
|
||||
cwd => '/tmp',
|
||||
user => 'root',
|
||||
unless => "rpm -q ${js_key_code} 2>/dev/null",
|
||||
require => Yumrepo['jenkins'],
|
||||
}
|
||||
|
||||
}
|
||||
27
manifests/params.pp
Normal file
27
manifests/params.pp
Normal file
@@ -0,0 +1,27 @@
|
||||
## jenkins_cd::params.pp
|
||||
# Module name: jenkins_cd
|
||||
# Author: Arne Teuke (arne_teuke@confdroid.com)
|
||||
# @summary Class holds all parameters for the jenkins_cd module.
|
||||
# @param [string] reqpackages which packages to install
|
||||
# @param [string] pkg_ensure which packages to install
|
||||
##############################################################################
|
||||
class jenkins_cd::params (
|
||||
|
||||
String $reqpackages = 'java-21-openjdk.x86_64',
|
||||
String $pkg_ensure = 'latest',
|
||||
|
||||
) {
|
||||
# facts
|
||||
$fqdn = $facts['networking']['fqdn']
|
||||
$domain = $facts['networking']['domain']
|
||||
$os_name = $facts['os']['name']
|
||||
$os_release = $facts['os']['release']['major']
|
||||
|
||||
# yum repo
|
||||
$js_base_url = 'https://pkg.jenkins.io/redhat-stable/'
|
||||
$js_key_url = "${js_base_url}/jenkins.io.key"
|
||||
$js_key_code = 'gpg-pubkey-d50582e6-4a3feef6'
|
||||
|
||||
# includes must be last
|
||||
include jenkins_cd::main::config
|
||||
}
|
||||
Reference in New Issue
Block a user