Method: Chap::Runner#setup

Defined in:
lib/chap/runner.rb

#setupObject



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/chap/runner.rb', line 40

def setup
  user = config.chap[:user] || ENV['USER']
  group = config.chap[:group]
  begin
    FileUtils.mkdir_p(deploy_to)
    FileUtils.chown_R user, group, deploy_to
  rescue Exception
    # retry to create deploy_to folder with sudo
    user_group = [user,group].compact.join(':')
    raise unless system("sudo mkdir -p #{deploy_to}")
    raise unless system("sudo chown -R #{user_group} #{deploy_to}")
  end
  dirs = ["#{deploy_to}/releases"]
  dirs += shared_dirs
  dirs.each do |dir|
    FileUtils.mkdir_p(dir)
  end
end