gorgon 0.4.1.rc1 → 0.4.1
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile.lock +1 -1
- data/README.md +43 -3
- data/bin/gorgon +1 -0
- data/lib/gorgon/version.rb +1 -1
- metadata +5 -5
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -6,12 +6,52 @@ About
|
|
6
6
|
|
7
7
|
Gorgon provides a method for distributing the workload of running ruby test suites. It relies on amqp for message passing, and rsync for the synchronization of source code.
|
8
8
|
|
9
|
+
Installing Gorgon
|
10
|
+
-----------------
|
11
|
+
1. `sudo apt-get install rabbitmq-server`
|
12
|
+
1. When you run gorgon, every listener will use rsync to pull the directory tree from origin; therefore, you need passwordless ssh login from every listener to origin (even if origin and listener are on the same host). Follow [these steps](http://linuxconfig.org/Passwordless_ssh).
|
13
|
+
1. cd to your project
|
14
|
+
1. `gem install gorgon`
|
15
|
+
1. if using rails, `gorgon init rails` will create initial files for a typical rails project. Otherwise, you can use `gorgon init`
|
16
|
+
1. check gorgon.json to see and modify any necessary setting
|
17
|
+
1. add the following lines to your _database.yml_ file
|
18
|
+
|
19
|
+
```yaml
|
20
|
+
remote_test: &remote_test
|
21
|
+
<<: *defaults
|
22
|
+
database: <my-app>_remote_test_<%=ENV['TEST_ENV_NUMBER']%>
|
23
|
+
min_messages: warning
|
24
|
+
```
|
25
|
+
|
26
|
+
Where `<<: *defaults` are the default values used in _database.yml_, like for example, adapter, username, password, and host. Replace <my-app> with a name to identify this application's dbs
|
27
|
+
|
28
|
+
Installing listener as a Daemon process (Ubuntu 9.10 or later)
|
29
|
+
----------------------------------------------------------------
|
30
|
+
1. run `gorgon install_listener` from the directory where gorgon.json is
|
31
|
+
1. run `gorgon ping` to check if the listener is running
|
32
|
+
|
33
|
+
Try it out!
|
34
|
+
-----------
|
35
|
+
1. run `gorgon` to run all the tests.
|
36
|
+
|
37
|
+
**NOTE:** if you get `cannot load such file -- qrack/qrack (LoadError)`, just add `gem 'gorgon', '~> 0.4.1' , :group => :remote_test` to your Gemfile, and run tests using `bundle exec gorgon`
|
38
|
+
|
39
|
+
Also note that these steps are **not** meant to work on every project, they will only give you initial settings. You will probably have to modify the following files:
|
40
|
+
* gorgon.json
|
41
|
+
* test/gorgon_callbacks/after\_sync.rb
|
42
|
+
* test/gorgon_callbacks/before\_creating\_workers.rb
|
43
|
+
* test/gorgon_callbacks/before\_start.rb
|
44
|
+
* test/gorgon_callbacks/after\_complete.rb
|
45
|
+
* ~/.gorgon/gorgon_listener.json
|
46
|
+
|
47
|
+
If you modify ~/.gorgon/gorgon_listener.json, make sure you restart the listener by running `sudo restart gorgon`
|
48
|
+
|
9
49
|
Usage
|
10
50
|
---------------------
|
11
51
|
|
12
52
|
To queue the current test suite, run `gorgon start`, or `gorgon`. _gorgon_ will read the application configuration out of _gorgon.json_, connect to the AMQP server, and publish the job.
|
13
53
|
|
14
|
-
|
54
|
+
If you want to run the listener manually (didn't install Daemon process), you must run _gorgon job listeners_. To start a gorgon listener, run `gorgon listen`. This command will read the listener configuration out of _gorgon\_listener.json_, then start the listener process in the background.
|
15
55
|
|
16
56
|
Configuration
|
17
57
|
---------------------
|
@@ -37,8 +77,8 @@ This file contains the listener-specific settings, such as:
|
|
37
77
|
|
38
78
|
See [gorgon_listener.json example](/Fitzsimmons/Gorgon/blob/master/gorgon_listener.json.sample) for more details.
|
39
79
|
|
40
|
-
###
|
41
|
-
|
80
|
+
### Manually setting up gorgon listener as a daemon process (Ubuntu 9.10 or later)
|
81
|
+
If `gorgon install_listener` didn't work for you, you can try [these steps](/Fitzsimmons/Gorgon/blob/master/daemon_with_upstart_and_rvm.md)
|
42
82
|
|
43
83
|
Contributing
|
44
84
|
---------------------
|
data/bin/gorgon
CHANGED
@@ -51,6 +51,7 @@ def usage
|
|
51
51
|
puts "\tstart - remotely runs all tests specified in gorgon.json"
|
52
52
|
puts "\tlisten - starts a listener process using the settings in gorgon_listener.json"
|
53
53
|
puts "\tping - pings listeners and shows hosts and gorgon's version they are running"
|
54
|
+
puts "\tinit [rails] - create initial files for current project
|
54
55
|
puts "\tinstall_listener - runs gorgon listener as a daemon process"
|
55
56
|
puts "\tgem command [options...] - execute the gem command on every listener and shutdown listener. e.g. 'gorgon gem install --version 1.0.0'"
|
56
57
|
end
|
data/lib/gorgon/version.rb
CHANGED
metadata
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gorgon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.1
|
5
|
-
prerelease:
|
4
|
+
version: 0.4.1
|
5
|
+
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Justin Fitzsimmons
|
@@ -13,7 +13,7 @@ authors:
|
|
13
13
|
autorequire:
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
|
-
date: 2012-12-
|
16
|
+
date: 2012-12-21 00:00:00.000000000 Z
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|
19
19
|
name: rake
|
@@ -284,9 +284,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
284
284
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
285
285
|
none: false
|
286
286
|
requirements:
|
287
|
-
- - ! '
|
287
|
+
- - ! '>='
|
288
288
|
- !ruby/object:Gem::Version
|
289
|
-
version:
|
289
|
+
version: '0'
|
290
290
|
requirements: []
|
291
291
|
rubyforge_project: gorgon
|
292
292
|
rubygems_version: 1.8.24
|