Class: MasterStarter

Inherits:
Object
  • Object
show all
Includes:
AppletHelper, GitHelper, Paths, ProvisioningHelper
Defined in:
lib/nixenvironment/jenkins/master/master_starter.rb

Instance Method Summary collapse

Methods included from ProvisioningHelper

#copy_jenkins_provisioning_profiles, #move_provisioning_profiles_to_backup, #remove_local_provisioning_profiles, #restore_backup_provisioning_profiles

Methods included from Paths

#path_to_backup, #path_to_environment, #path_to_provisioning_updater, #root_jenkins_path

Methods included from GitHelper

#clone_environment, #clone_provisioning_updater, #remove_local_environment, #remove_local_provisioning_updater, #set_git_hook

Methods included from AppletHelper

#should_start_slave, #start_master, #start_slave, #stop_applets

Instance Method Details

#startObject

Raises:



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/nixenvironment/jenkins/master/master_starter.rb', line 23

def start
    raise NotInitialized unless should_start_slave

    add_to_autorun

    # Applet
    start_master
    
    # Start provisioning updater
    start_pu

    # Git
    hook_thread = set_git_hook do
#          remove_local_provisioning_profiles
#          copy_jenkins_provisioning_profiles
    end

    hook_thread.join

    true
end

#start_pu(on_production = true) ⇒ Object



45
46
47
48
49
50
51
52
53
54
55
# File 'lib/nixenvironment/jenkins/master/master_starter.rb', line 45

def start_pu(on_production = true)
  fork do
    Dir.chdir(path_to_provisioning_updater) do
      if on_production
        `./run -e production -p 3000`
      else
        `./run`
      end
    end
  end
end

#stopObject



57
58
59
60
61
# File 'lib/nixenvironment/jenkins/master/master_starter.rb', line 57

def stop
    stop_applets
    stop_pu
    kill_proc("rails")
end

#stop_puObject



63
64
65
# File 'lib/nixenvironment/jenkins/master/master_starter.rb', line 63

def stop_pu
  `kill -9 "$(cat #{path_to_provisioning_updater}/tmp/pids/server.pid)" 2>/dev/null`
end