Module: Escualo::Artifact
- Defined in:
- lib/escualo/artifact.rb
Class Method Summary collapse
- .configure_monit(session, options) ⇒ Object
- .configure_upstart(session, options) ⇒ Object
- .create_codechange_script(session, name) ⇒ Object
- .create_init_script(session, options) ⇒ Object
- .create_push_infra(session, options) ⇒ Object
- .create_scripts_dir(session, name) ⇒ Object
- .destroy(session, name) ⇒ Object
- .list(session) ⇒ Object
- .present?(session, name) ⇒ Boolean
- .setup(session) ⇒ Object
Class Method Details
.configure_monit(session, options) ⇒ Object
54 55 56 57 58 59 |
# File 'lib/escualo/artifact.rb', line 54 def self.configure_monit(session, ) name = [:name] session.tell! 'mkdir -p /etc/monit/conf.d/' session.upload_template! "/etc/monit/conf.d/escualo-#{name}", 'monit.conf', session.tell! 'monit reload' end |
.configure_upstart(session, options) ⇒ Object
66 67 68 |
# File 'lib/escualo/artifact.rb', line 66 def self.configure_upstart(session, ) session.upload_template! "/etc/init/#{[:name]}.conf", 'upstart.conf', end |
.create_codechange_script(session, name) ⇒ Object
61 62 63 64 |
# 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) ⇒ Object
28 29 30 31 32 33 |
# File 'lib/escualo/artifact.rb', line 28 def self.create_init_script(session, ) session.upload_template! "/var/scripts/#{[:name]}/init", 'init.sh', session.tell! "chmod +x /var/scripts/#{[:name]}/init" end |
.create_push_infra(session, options) ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/escualo/artifact.rb', line 39 def self.create_push_infra(session, ) name = [: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', session.tell! "chmod +x #{hook_file}" end |
.create_scripts_dir(session, name) ⇒ Object
24 25 26 |
# 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) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 |
# 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) ⇒ Object
35 36 37 |
# File 'lib/escualo/artifact.rb', line 35 def self.list(session) session.ask('ls /var/repo/').captures(/(.*)\.git/).map { $1 } end |
.present?(session, name) ⇒ Boolean
20 21 22 |
# File 'lib/escualo/artifact.rb', line 20 def self.present?(session, name) list(session).include? name rescue false end |
.setup(session) ⇒ Object
3 4 5 6 |
# File 'lib/escualo/artifact.rb', line 3 def self.setup(session) session.tell_all! 'mkdir -p /var/repo/', 'mkdir -p /var/scripts/' end |