diff options
author | Dmitriy Zaporozhets <dzaporozhets@sphereconsultinginc.com> | 2012-08-30 09:41:43 +0400 |
---|---|---|
committer | Dmitriy Zaporozhets <dzaporozhets@sphereconsultinginc.com> | 2012-08-30 09:41:43 +0400 |
commit | a6026c9c8237020370e5499db5afb7ddab58532f (patch) | |
tree | 1fe46c35d6e1863ccf873a67e386d2af04175578 /gitlab | |
parent | 4e4740285261a098b364e804a906a349731e71a3 (diff) |
Gitlab cli for development need at first
Diffstat (limited to 'gitlab')
-rwxr-xr-x | gitlab | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/gitlab b/gitlab new file mode 100755 index 00000000000..12cebd89891 --- /dev/null +++ b/gitlab @@ -0,0 +1,70 @@ +#!/usr/bin/env ruby + +class GitlabCli + def initialize + @path = File.dirname(__FILE__) + @command = ARGV.shift + @mode = ARGV.shift + end + + def execute + case @command + when 'start' then start + when 'stop' then stop + else + puts "-- Usage gitlab start production or gitlab stop development" + end + end + + private + + def start + case @mode + when 'production'; + system(unicorn_start_cmd) + else + system(rails_start_cmd) + end + system(resque_start_cmd) + end + + def stop + case @mode + when 'production'; + system(unicorn_stop_cmd) + else + system(rails_stop_cmd) + end + system(resque_stop_cmd) + end + + def rails_start_cmd + "bundle exec rails s -d" + end + + def rails_stop_cmd + pid = File.join(@path, "tmp/pids/server.pid") + "kill -QUIT `cat #{pid}`" + end + + def unicorn_start_cmd + unicorn_conf = File.join(@path, "config/unicorn.rb") + "bundle exec unicorn_rails -c #{unicorn_conf} -E production -D" + end + + def unicorn_stop_cmd + pid = File.join(@path, "/tmp/pids/unicorn.pid") + "kill -QUIT `cat #{pid}`" + end + + def resque_start_cmd + "./resque.sh > /dev/null 2>&1" + end + + def resque_stop_cmd + pid = File.join(@path, "tmp/pids/resque_worker.pid") + "kill -QUIT `cat #{pid}`" + end +end + +GitlabCli.new.execute |