Skip to content

Commit

Permalink
Merge pull request #1057 from ekohl/mac-updates
Browse files Browse the repository at this point in the history
Change slave on mac to use plist and use EPP
  • Loading branch information
ekohl committed Sep 16, 2022
2 parents 0887aac + 3007db3 commit 86b3c9f
Show file tree
Hide file tree
Showing 4 changed files with 110 additions and 66 deletions.
50 changes: 16 additions & 34 deletions manifests/slave.pp
Original file line number Diff line number Diff line change
Expand Up @@ -172,29 +172,28 @@
Class['java'] -> Service['jenkins-slave']
}

# customizations based on the OS family
case $facts['os']['family'] {
'Archlinux': {
$defaults_location = '/etc/conf.d'
}
'Darwin': {
$defaults_location = $slave_home
}
'Debian': {
$defaults_location = '/etc/default'
}
default: {
$defaults_location = '/etc/sysconfig'
}
}

case $facts['kernel'] {
'Linux': {
$service_name = 'jenkins-slave'
$defaults_user = 'root'
$defaults_group = 'root'
$manage_user_home = true

$defaults_location = $facts['os']['family'] ? {
'Archlinux' => '/etc/conf.d',
'Debian' => '/etc/default',
default => '/etc/sysconfig',
}

file { "${defaults_location}/jenkins-slave":
ensure => 'file',
mode => '0600',
owner => $defaults_user,
group => $defaults_group,
content => template("${module_name}/jenkins-slave-defaults.erb"),
notify => Service['jenkins-slave'],
}

file { "${slave_home}/${service_name}-run":
content => template("${module_name}/${service_name}-run.erb"),
owner => $slave_user,
Expand All @@ -214,17 +213,9 @@
$defaults_group = 'wheel'
$manage_user_home = false

file { "${slave_home}/start-slave.sh":
ensure => 'file',
content => template("${module_name}/start-slave.sh.erb"),
mode => '0755',
owner => 'root',
group => 'wheel',
}

file { '/Library/LaunchDaemons/org.jenkins-ci.slave.jnlp.plist':
ensure => 'file',
content => template("${module_name}/org.jenkins-ci.slave.jnlp.plist.erb"),
content => template("${module_name}/org.jenkins-ci.slave.jnlp.plist.epp"),
mode => '0644',
owner => 'root',
group => 'wheel',
Expand Down Expand Up @@ -264,15 +255,6 @@
}
}

file { "${defaults_location}/jenkins-slave":
ensure => 'file',
mode => '0600',
owner => $defaults_user,
group => $defaults_group,
content => template("${module_name}/jenkins-slave-defaults.erb"),
notify => Service['jenkins-slave'],
}

if ($manage_client_jar) {
archive { 'get_swarm_client':
source => "${client_url}/${client_jar}",
Expand Down
94 changes: 94 additions & 0 deletions templates/org.jenkins-ci.slave.jnlp.plist.epp
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-/Apple/DTD PLIST 1.0/EN" "http:/www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<% if $jenkins::slave::quoted_ui_pass { -%>
<key>EnvironmentVariables</key>
<dict>
<key>JENKINS_PASSWORD</key>
<string><%= $jenkins::slave::quoted_ui_pass -%></string>
</dict>
<% } -%>
<key>Label</key>
<string>org.jenkins-ci.slave.jnlp</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/java</string>
<% unless empty($jenkins::slave::java_args) { -%>
<string><%= join($jenkins::slave::java_args, ' ') -%></string>
<% } -%>
<string>-jar</string>
<string><%= $jenkins::slave::slave_home -%>/<%= $jenkins::slave::client_jar -%></string>
<% if $jenkins::slave::slave_mode { -%>
<string>-mode</string>
<string><%= $jenkins::slave::slave_mode -%></string>
<% } -%>
<% if $jenkins::slave::executors { -%>
<string>-executors</string>
<string><%= $jenkins::slave::executors -%></string>
<% } -%>
<% if $jenkins::slave::quoted_ui_user { -%>
<string>-username</string>
<string><%= $jenkins::slave::quoted_ui_user -%></string>
<% } -%>
<% if $jenkins::slave::quoted_ui_pass { -%>
<string>-passwordEnvVariable</string>
<string>JENKINS_PASSWORD</string>
<% } -%>
<% if $jenkins::slave::slave_name { -%>
<string>-name</string>
<string><%= $jenkins::slave::slave_name -%></string>
<% } -%>
<% if $jenkins::slave::masterurl { -%>
<string>-master</string>
<string><%= $jenkins::slave::masterurl -%></string>
<% } -%>
<% if $jenkins::slave::slave_home { -%>
<string>-fsroot</string>
<string><%= $jenkins::slave::slave_home -%></string>
<% } -%>
<% if $jenkins::slave::disable_clients_unique_id { -%>
<string>-disableClientsUniqueId</string>
<% } -%>
<% if $jenkins::slave::disable_ssl_verification { -%>
<string>-disableSslVerification</string>
<% } -%>
<% if $jenkins::slave::delete_existing_clients { -%>
<string>-deleteExistingClients</string>
<% } -%>
<% if $jenkins::slave::description { -%>
<string>-description</string>
<string><%= $jenkins::slave::description -%></string>
<% } -%>
<% if $jenkins::slave::autodiscoveryaddress { -%>
<string>-autoDiscoveryAddress</string>
<string><%= $jenkins::slave::autodiscoveryaddress -%></string>
<% } -%>
<% if $jenkins::slave::_real_tool_locations { -%>
<% $jenkins::slave::_real_tool_locations.each |$location| { -%>
<string>-toolLocation</string>
<string><%= $location -%></string>
<% } -%>
<% } -%>
<% unless empty($jenkins::slave::swarm_client_args) { -%>
<string><%= join($jenkins::slave::swarm_client_args, ' ') -%></string>
<% } -%>
</array>
<key>KeepAlive</key>
<true/>
<key>RunAtLoad</key>
<true/>
<key>UserName</key>
<string><%= $jenkins::slave::slave_user %></string>
<key>WorkingDirectory</key>
<string><%= $jenkins::slave::slave_home %></string>
<key>SessionCreate</key>
<true/>
<key>StandardInPath</key>
<string>/dev/null</string>
<key>StandardErrorPath</key>
<string>/var/log/jenkins/org.jenkins-ci.slave.jnlp.log</string>
<key>StandardOutPath</key>
<string>/var/log/jenkins/org.jenkins-ci.slave.jnlp.log</string>
</dict>
</plist>
28 changes: 0 additions & 28 deletions templates/org.jenkins-ci.slave.jnlp.plist.erb

This file was deleted.

4 changes: 0 additions & 4 deletions templates/start-slave.sh.erb

This file was deleted.

0 comments on commit 86b3c9f

Please sign in to comment.