This module contains a couple of defined types:
nssm::install
install a servicenssm::set
set the parameters for that service
This will obviously require NSSM to be installed. If you need to install nssm, you may optionally declare the nssm class:
include nssm
Note, however, that the nssm
class is simply declaring the windows::nssm class, which already does an excellent job of downloading and installing nssm, so understand counsyl/windows
as a dependency to using my nssm
class.
If you already have nssm installed, a default path to the nssm exe is assumed as C:\Program Files\nssm-2.24\win64
. This may be overridden if your PATH differs by supplying nssm_path
as an attribute to the nssm:install
and nssm::set
defined types.
# Install the service
nssm::install { 'Jenkins_Agent':
ensure => present,
program => 'C:\Program Files\Java\jdk1.7.0_79\bin\java.exe',
service_name => 'Jenkins_Agent',
}
# Service Management
nssm::set { 'Jenkins_Agent':
service_user => 'LocalSystem',
service_interactive => true,
create_user => false,
app_parameters => "-jar C:\swarm-jar-with-dependencies.jar -mode exclusive -executors 8 -username jenkins -password password -master http://localhost:8080 -labels windows -fsroot C:\opt\ci",
require => Nssm::Install['Jenkins_Agent'],
}