module Escualo::Artifact
Public Class Methods
configure_monit(session, options)
click to toggle source
# File lib/escualo/artifact.rb, line 54 def self.configure_monit(session, options) name = options[:name] session.tell! 'mkdir -p /etc/monit/conf.d/' session.upload_template! "/etc/monit/conf.d/escualo-#{name}", 'monit.conf', options session.tell! 'monit reload' end
configure_upstart(session, options)
click to toggle source
# File lib/escualo/artifact.rb, line 66 def self.configure_upstart(session, options) session.upload_template! "/etc/init/#{options[:name]}.conf", 'upstart.conf', options end
create_codechange_script(session, name)
click to toggle source
# File lib/escualo/artifact.rb, line 61 def self.create_codechange_script(session, name) session.upload_template! "/var/scripts/#{name}/codechange", 'codechange.sh', name: name session.tell! "chmod +x /var/scripts/#{name}/codechange" end
create_init_script(session, options)
click to toggle source
# File lib/escualo/artifact.rb, line 28 def self.create_init_script(session, options) session.upload_template! "/var/scripts/#{options[:name]}/init", 'init.sh', options session.tell! "chmod +x /var/scripts/#{options[:name]}/init" end
create_push_infra(session, options)
click to toggle source
# File lib/escualo/artifact.rb, line 39 def self.create_push_infra(session, options) name = options[:name] session.tell_all! 'cd /var', 'mkdir -p www', 'mkdir -p repo', 'cd repo', "rm -rf #{name}.git", "mkdir #{name}.git", "cd #{name}.git", 'git init --bare' hook_file = "/var/repo/#{name}.git/hooks/post-receive" session.upload_template! hook_file, 'post-receive.sh', options session.tell! "chmod +x #{hook_file}" end
create_scripts_dir(session, name)
click to toggle source
# File lib/escualo/artifact.rb, line 24 def self.create_scripts_dir(session, name) session.tell! "mkdir -p /var/scripts/#{name}" end
destroy(session, name)
click to toggle source
# File lib/escualo/artifact.rb, line 8 def self.destroy(session, name) raise 'name must not be blank' if name.blank? raise 'name must not contains wildcards' if name.include?('*') session.tell_all! "rm -rf /var/scripts/#{name}", "rm -rf /var/repo/#{name}.git", "rm -rf /var/www/#{name}", "rm -f /etc/monit/conf.d/escualo-#{name}", "rm -f /etc/init/#{name}.conf", "test ! -e /var/repo/#{name}.git" end
list(session)
click to toggle source
# File lib/escualo/artifact.rb, line 35 def self.list(session) session.ask('ls /var/repo/').captures(/(.*)\.git/).map { $1 } end
present?(session, name)
click to toggle source
# File lib/escualo/artifact.rb, line 20 def self.present?(session, name) list(session).include? name rescue false end
setup(session)
click to toggle source
# File lib/escualo/artifact.rb, line 3 def self.setup(session) session.tell_all! 'mkdir -p /var/repo/', 'mkdir -p /var/scripts/' end