Как добавить работу в Дженкинс, используя кукольный? - PullRequest
0 голосов
/ 11 июня 2019

Я использовал официальный модуль puppet jenkins. Я добавил работу Дженкинса, как это.

jenkins::job { 'test-build-job':
 config => template("${templates}/test-build-job.xml.erb"),
}

когда я запускаю эту команду в агенте марионеток

puppet agent -tv

Я получаю сообщение об ошибке:

Ошибка: не удалось применить каталог: не удалось выполнить проверку Exec [reload-jenkins]:

'java -jar /usr/lib/jenkins/jenkins-cli.jar -s http://localhost:8080 перезагружать конфигурация '

не определено и путь не указан. Пожалуйста, уточните команду или укажите путь. (файл: /etc/puppetlabs/code/environments/production/modules/jenkins/manifests/cli.pp, строка: 42)

Я получаю ошибку в cli.pp, и мой cli.pp выглядит как

class jenkins::cli {

  if $caller_module_name != $module_name {
    fail("Use of private class ${name} by ${caller_module_name}")
  }

  $jar = "${jenkins::libdir}/jenkins-cli.jar"
  $extract_jar = "jar -xf ${jenkins::libdir}/jenkins.war WEB-INF/jenkins-cli.jar"
  $move_jar = "mv WEB-INF/jenkins-cli.jar ${jar}"
  $remove_dir = 'rm -rf WEB-INF'



  exec { 'jenkins-cli' :
    command => "${extract_jar} && ${move_jar} && ${remove_dir}",
    path    => ['/bin', '/usr/bin'],
    cwd     => '/tmp',
    creates => $jar,
    require => Service['jenkins'],
  }

  file { $jar:
    ensure  => file,
    require => Exec['jenkins-cli'],
  }

  $port = jenkins_port()

  # The jenkins cli command with required parameter(s)
  $cmd = "java -jar ${jar} -s http://localhost:${port}"

  # Reload all Jenkins config from disk (only when notified)
  exec { 'reload-jenkins':
    command     => "${cmd} reload-configuration",
    tries       => 10,
    try_sleep   => 2,
    refreshonly => true,
    require     => File[$jar],
  }

  # Do a safe restart of Jenkins (only when notified)
  exec { 'safe-restart-jenkins':
    command     => "${cmd} safe-restart && /bin/sleep 10",
    tries       => 10,
    try_sleep   => 2,
    refreshonly => true,
    require     => File[$jar],
  }
}
...