Class: JenkinsLauncher::ConfigLoader

Inherits:
Object
  • Object
show all
Defined in:
lib/jenkins_launcher/config_loader.rb

Instance Method Summary collapse

Instance Method Details

#load_config(file) ⇒ Object



30
31
32
33
34
# File 'lib/jenkins_launcher/config_loader.rb', line 30

def load_config(file)
  puts "Loading configuration from: #{file}"
  loaded_params = YAML.load_file(Dir.pwd + "/#{file}")
  validate_config(loaded_params)
end

#validate_config(loaded_params) ⇒ Object



36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/jenkins_launcher/config_loader.rb', line 36

def validate_config(loaded_params)
  valid_params = {}
  # Name
  raise "'name' is required and not set in the yml file." unless loaded_params['name']
  valid_params[:name] = loaded_params['name']

  # Node to restrict the job to
  valid_params[:node] = loaded_params['node'] if loaded_params['node']

  # Source control
  # Git, Subversion
  if loaded_params['git']
    valid_params[:scm_provider] = 'git'
    valid_params[:scm_url] = loaded_params['git']
    valid_params[:scm_branch] = loaded_params['ref'] ? loaded_params['ref'] : 'master'
  elsif loaded_params['svn']
    valid_params[:scm_provider] = 'subversion'
    valid_params[:scm_url] = loaded_params['svn']
  end

  # Shell command
  if loaded_params['script']
    valid_params[:shell_command] = ''
    loaded_params['script'].each do |command|
      valid_params[:shell_command] << command + "\n"
    end
  end
  valid_params
end