Browse Source

Cleanup rack

Hamilton Turner 11 years ago
parent
commit
7c9f690ad5

+ 7 - 0
frameworks/Ruby/rack/bash_profile.sh

@@ -0,0 +1,7 @@
+#!/bin/bash
+
+# We assume single-user installation as 
+# done in our rvm.sh script and 
+# in Travis-CI
+source $HOME/.rvm/scripts/rvm
+

+ 1 - 1
frameworks/Ruby/rack/config/nginx.conf

@@ -24,7 +24,7 @@ worker_processes 8;
 #user nobody nobody; # for systems with "nobody" as a group instead
 
 # Feel free to change all paths to suite your needs here, of course
-# pid /tmp/nginx.pid;
+pid /tmp/nginx.pid;
 #error_log /tmp/nginx.error.log;
 error_log stderr error;
 

+ 7 - 1
frameworks/Ruby/rack/install.sh

@@ -1,3 +1,9 @@
 #!/bin/bash
 
-fw_depends ruby
+fw_depends rvm nginx java
+
+rvm install ruby-2.0.0-p0
+rvm ruby-2.0.0-p0 do bundle install --gemfile=$TROOT/Gemfile-ruby
+
+rvm install jruby-1.7.8
+rvm jruby-1.7.8 do bundle install --gemfile=$TROOT/Gemfile-jruby

+ 2 - 3
frameworks/Ruby/rack/setup_jruby.py

@@ -7,7 +7,6 @@ import os
 def start(args, logfile, errfile):
 
   try:
-    subprocess.check_call("rvm jruby-1.7.8 do bundle install --gemfile=Gemfile-jruby", shell=True, cwd="rack", stderr=errfile, stdout=logfile)
     subprocess.check_call("cp Gemfile-jruby Gemfile", shell=True, cwd="rack", stderr=errfile, stdout=logfile)
     subprocess.check_call("cp Gemfile-jruby.lock Gemfile.lock", shell=True, cwd="rack", stderr=errfile, stdout=logfile)
     subprocess.Popen("rvm jruby-1.7.8 do bundle exec torqbox -b 0.0.0.0 -E production", shell=True, cwd="rack", stderr=errfile, stdout=logfile)
@@ -22,8 +21,8 @@ def stop(logfile, errfile):
       if 'torqbox' in line:
         pid = int(line.split(None, 2)[1])
         os.kill(pid, 15)
-    subprocess.check_call("rm Gemfile", shell=True, cwd="rack", stderr=errfile, stdout=logfile)
-    subprocess.check_call("rm Gemfile.lock", shell=True, cwd="rack", stderr=errfile, stdout=logfile)
+    subprocess.check_call("rm -f Gemfile", shell=True, cwd="rack", stderr=errfile, stdout=logfile)
+    subprocess.check_call("rm -f Gemfile.lock", shell=True, cwd="rack", stderr=errfile, stdout=logfile)
     return 0
   except subprocess.CalledProcessError:
     return 1

+ 5 - 11
frameworks/Ruby/rack/setup_ruby.py

@@ -4,23 +4,18 @@ import sys
 import re
 import os
 
-from os.path import expanduser
-
-home = expanduser("~")
-
 def start(args, logfile, errfile):
 
   try:
-    subprocess.check_call("rvm ruby-2.0.0-p0 do bundle install --gemfile=Gemfile-ruby", shell=True, cwd="rack", stderr=errfile, stdout=logfile)
     subprocess.check_call("cp Gemfile-ruby Gemfile", shell=True, cwd="rack", stderr=errfile, stdout=logfile)
     subprocess.check_call("cp Gemfile-ruby.lock Gemfile.lock", shell=True, cwd="rack", stderr=errfile, stdout=logfile)
-    subprocess.check_call("sudo /usr/local/nginx/sbin/nginx -c " + home + "/FrameworkBenchmarks/rack/config/nginx.conf", shell=True, stderr=errfile, stdout=logfile)
-    subprocess.Popen("rvm ruby-2.0.0-p0 do bundle exec unicorn -E production -c config/unicorn.rb", shell=True, cwd="rack", stderr=errfile, stdout=logfile)
+    subprocess.check_call("sudo /usr/local/nginx/sbin/nginx -c $TROOT/config/nginx.conf", shell=True, stderr=errfile, stdout=logfile)
+    subprocess.Popen("rvm ruby-2.0.0-p0 do bundle exec unicorn -E production -c $TROOT/config/unicorn.rb", shell=True, cwd="rack", stderr=errfile, stdout=logfile)
     return 0
   except subprocess.CalledProcessError:
     return 1
 def stop(logfile, errfile):
-  subprocess.call("sudo /usr/local/nginx/sbin/nginx -s stop", shell=True, stderr=errfile, stdout=logfile)
+  subprocess.call("sudo /usr/local/nginx/sbin/nginx -c $TROOT/config/nginx.conf -s stop", shell=True, stderr=errfile, stdout=logfile)
   try:
     p = subprocess.Popen(['ps', 'aux'], stdout=subprocess.PIPE)
     out, err = p.communicate()
@@ -28,9 +23,8 @@ def stop(logfile, errfile):
       if 'unicorn' in line and 'master' in line:
         pid = int(line.split(None, 2)[1])
         os.kill(pid, 15)
-    # subprocess.check_call("rvm ruby-2.0.0-p0 do bundle exec passenger stop --pid-file=$HOME/FrameworkBenchmarks/rack/rack.pid", shell=True, cwd='rack')
-    subprocess.check_call("rm Gemfile", shell=True, cwd="rack", stderr=errfile, stdout=logfile)
-    subprocess.check_call("rm Gemfile.lock", shell=True, cwd="rack", stderr=errfile, stdout=logfile)
+    subprocess.check_call("rm -f Gemfile", shell=True, cwd="rack", stderr=errfile, stdout=logfile)
+    subprocess.check_call("rm -f Gemfile.lock", shell=True, cwd="rack", stderr=errfile, stdout=logfile)
     return 0
   except subprocess.CalledProcessError:
     return 1