Class: JobsController

Inherits:
MVCLI::Controller
  • Object
show all
Defined in:
app/controllers/jobs_controller.rb

Instance Method Summary collapse

Instance Method Details

#createObject



8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'app/controllers/jobs_controller.rb', line 8

def create
  template = Jobs::CreateForm
  argv = MVCLI::Argv.new command.argv
  form = template.new argv.options
  command.output.puts "Setting up new jenkins job: #{form.job_name} on server: #{server.name}."
  sleep(1)
  xml = job.job_template(form.job_repo, form.job_command)
  Net::SSH.start("#{server.ipv4_address}", "root") do |ssh|
    # 'ssh' is an instance of Net::SSH::Connection::Session
    ssh.exec! "echo '#{xml}' >> #{form.job_name}-config.xml"
    ssh.exec! "java -jar /home/jenkins/jenkins-cli.jar -s http://0.0.0.0:8080 create-job #{form.job_name} < #{form.job_name}-config.xml"
  end
  return server
end