shuttle 1.2.8 → 1.2.9
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +60 -2
- data/lib/shuttle/version.rb +1 -1
- data/shuttle.gemspec +1 -1
- metadata +5 -4
data/README.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
A simplest continuous integration for a Rails application. Enjoy it!
|
4
4
|
|
5
|
-
Get a new code from another team members, install new gems, run new migrations, run specs
|
5
|
+
Get a new code from another team members, install new gems, run new migrations, run specs, send your new feature to the origin repository and deploy your application. At the simplest way!
|
6
6
|
|
7
7
|
## Installation
|
8
8
|
|
@@ -14,14 +14,72 @@ Install the gem with Bundler:
|
|
14
14
|
|
15
15
|
$ bundle
|
16
16
|
|
17
|
+
## Configuration
|
18
|
+
|
17
19
|
And then configure default Shuttle Steps:
|
18
20
|
|
19
21
|
$ rails g shuttle:install
|
22
|
+
|
23
|
+
This will create a configuration file in `config/initializers/shuttle.rb` looks like this:
|
24
|
+
|
25
|
+
Shuttle.setup do |s|
|
26
|
+
s.steps = [
|
27
|
+
'shuttle:git:check',
|
28
|
+
'shuttle:git:pull',
|
29
|
+
'shuttle:bundle',
|
30
|
+
'db:migrate',
|
31
|
+
'shuttle:spec',
|
32
|
+
'shuttle:git:push',
|
33
|
+
# 'log:clear',
|
34
|
+
# 'tmp:clear',
|
35
|
+
]
|
36
|
+
|
37
|
+
# s.stages = {
|
38
|
+
# staging: 'your@server.com:staging-repository.git',
|
39
|
+
# production: 'your@server.com:production-repository.git'
|
40
|
+
# }
|
41
|
+
end
|
42
|
+
|
43
|
+
### Understanding
|
44
|
+
|
45
|
+
#### Shuttle Steps
|
46
|
+
|
47
|
+
The steps are nothing more than Rake tasks that are performed at the time of integration. The order of the steps in the array will be the order they will be executed. You have the freedom to rearrange, add or delete steps according to your need.
|
48
|
+
|
49
|
+
##### Shuttle's pre-defined Steps:
|
50
|
+
|
51
|
+
* `shuttle:git:check` checks for files to be commited
|
52
|
+
* `shuttle:git:pull` gives a pull from the origin repository
|
53
|
+
* `shuttle:git:push` gives a push to the origin repository
|
54
|
+
* `shuttle:bundle` install all the new gems
|
55
|
+
* `shuttle:spec` prepare and run all specs
|
56
|
+
|
57
|
+
#### Shuttle Stages
|
20
58
|
|
21
|
-
|
59
|
+
Stages are repositories for deploy, usually a repository hosted on [Heroku](http://heroku.com). You can configure multiple repositories representing different execution environments for their application, such as `staging` or `production`.
|
60
|
+
|
61
|
+
## How To
|
62
|
+
|
63
|
+
#### Integrate
|
64
|
+
|
65
|
+
Just run this to integrate your app:
|
22
66
|
|
23
67
|
$ rake shuttle
|
24
68
|
|
69
|
+
#### Deploy
|
70
|
+
|
71
|
+
If you wish to deploy your app in `staging`, run this:
|
72
|
+
|
73
|
+
$ rake shuttle[staging]
|
74
|
+
|
75
|
+
Or, deploy to `staging`, and then to `production`, run this:
|
76
|
+
|
77
|
+
$ rake shuttle[staging:production]
|
78
|
+
|
79
|
+
You can deploy on how many repositories you want at once, as long as they are configured as Shuttle Stages.
|
80
|
+
|
81
|
+
**Note**: before deploy, it will integrate the app.
|
82
|
+
|
25
83
|
## Contributing
|
26
84
|
|
27
85
|
1. Fork it
|
data/lib/shuttle/version.rb
CHANGED
data/shuttle.gemspec
CHANGED
@@ -4,7 +4,7 @@ Gem::Specification.new do |gem|
|
|
4
4
|
gem.authors = ["Felipe Bazzarella"]
|
5
5
|
gem.email = ["fbazzarella@gmail.com"]
|
6
6
|
gem.description = %q{A simplest continuous integration for a Rails application. Enjoy it!}
|
7
|
-
gem.summary = %q{Get a new code from another team members, install new gems, run new migrations, run specs
|
7
|
+
gem.summary = %q{Get a new code from another team members, install new gems, run new migrations, run specs, send your new feature to the origin repository and deploy your application. At the simplest way!}
|
8
8
|
|
9
9
|
gem.files = `git ls-files`.split($\)
|
10
10
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shuttle
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.9
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-02-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: colored
|
@@ -66,9 +66,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
66
66
|
version: '0'
|
67
67
|
requirements: []
|
68
68
|
rubyforge_project:
|
69
|
-
rubygems_version: 1.8.
|
69
|
+
rubygems_version: 1.8.25
|
70
70
|
signing_key:
|
71
71
|
specification_version: 3
|
72
72
|
summary: Get a new code from another team members, install new gems, run new migrations,
|
73
|
-
run specs
|
73
|
+
run specs, send your new feature to the origin repository and deploy your application.
|
74
|
+
At the simplest way!
|
74
75
|
test_files: []
|