eycap 0.6.7 → 0.6.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History.txt +5 -0
- data/README.markdown +15 -6
- data/lib/eycap/recipes/backgroundrb.rb +3 -3
- data/lib/eycap/recipes/bundler.rb +10 -1
- data/lib/eycap/recipes/sphinx.rb +10 -10
- data/lib/eycap/recipes/unicorn.rb +4 -4
- data/lib/eycap/version.rb +1 -1
- metadata +22 -16
data/History.txt
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
== 0.6.8 / 2013-05-29
|
2
|
+
* #42 allow custom path for ey binaries - Michal Papis.
|
3
|
+
* Added bundle_config task for bundler - Tyler Bird.
|
4
|
+
* Change default output of bundle install to --quiet for speed increase - Tyler Bird.
|
5
|
+
|
1
6
|
== 0.6.7 / 2013-03-25
|
2
7
|
* follow up to #37, pull #40 works to ensure rvm and non-rvm work properly - Michal Papis.
|
3
8
|
* #39 Joe does some good house cleaning, thanks!
|
data/README.markdown
CHANGED
@@ -33,13 +33,13 @@ To ensure your environments are ready to deploy, check on staging.
|
|
33
33
|
|
34
34
|
This will determine if all requirements are met to deploy. Sometimes if the default folders are not setup you may be able to repair by running:
|
35
35
|
|
36
|
-
|
36
|
+
$ cap staging deploy:setup
|
37
37
|
|
38
38
|
If you cannot get `deploy:check` to pass, please open a [new support ticket](https://support.cloud.engineyard.com/tickets/new) and let us know.
|
39
39
|
|
40
40
|
Now you're ready to do a test deploy.
|
41
41
|
|
42
|
-
Optionally, `cap deploy:cold` will run your migrations and start (instead of restart) your app server.
|
42
|
+
Optionally, `cap deploy:cold` will run your migrations and start (instead of restart) your app server.
|
43
43
|
|
44
44
|
$ cap staging deploy:cold
|
45
45
|
|
@@ -57,15 +57,24 @@ For a list of all available commands, run:
|
|
57
57
|
|
58
58
|
$ cap -T
|
59
59
|
|
60
|
-
This will show you not only the default capistrano commands but also the ones you get by including the eycap gem.
|
60
|
+
This will show you not only the default capistrano commands but also the ones you get by including the eycap gem.
|
61
|
+
|
62
|
+
## Custom binaries path
|
63
|
+
|
64
|
+
In rare cases (`unicorn` / `sphinx`) it is required to set custom path for binaries when using
|
65
|
+
development versions of scripts. It is as easy as:
|
66
|
+
|
67
|
+
$ set :engineyard_bin, "/engineyard/custom"
|
68
|
+
|
69
|
+
The default is `/engineyard/bin` and is just fine in normal deployment.
|
61
70
|
|
62
71
|
## Pull Requests
|
63
|
-
|
72
|
+
|
64
73
|
If you'd like to contribute to the eycap gem please create a fork, then send a pull request and a member of the eycap team will review it.
|
65
74
|
|
66
75
|
## Issues
|
67
76
|
|
68
|
-
When you run into a problem please check the [issues](/issues) to see if one has been reported. If not, please report the issue and we'll get to work on fixing it.
|
77
|
+
When you run into a problem please check the [issues](/issues) to see if one has been reported. If not, please report the issue and we'll get to work on fixing it.
|
69
78
|
## License
|
70
79
|
|
71
80
|
Copyright (c) 2008-2012 Engine Yard
|
@@ -87,4 +96,4 @@ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
87
96
|
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
88
97
|
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
89
98
|
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
90
|
-
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
99
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
@@ -3,9 +3,9 @@ Capistrano::Configuration.instance(:must_exist).load do
|
|
3
3
|
namespace :bdrb do
|
4
4
|
desc "After update_code you want to reindex"
|
5
5
|
task :reindex, :roles => [:app], :only => {:backgroundrb => true} do
|
6
|
-
run "/engineyard/bin/searchd #{application} reindex"
|
6
|
+
run "#{fetch(:engineyard_bin, "/engineyard/bin")}/searchd #{application} reindex"
|
7
7
|
end
|
8
|
-
|
8
|
+
|
9
9
|
desc "Start Backgroundrb"
|
10
10
|
task :start, :roles => [:app], :only => {:backgroundrb => true} do
|
11
11
|
sudo "/usr/bin/monit start all -g backgroundrb_#{application}"
|
@@ -17,7 +17,7 @@ Capistrano::Configuration.instance(:must_exist).load do
|
|
17
17
|
desc "Restart Backgroundrb"
|
18
18
|
task :restart, :roles => [:app], :only => {:backgroundrb => true} do
|
19
19
|
sudo "/usr/bin/monit restart all -g backgroundrb_#{application}"
|
20
|
-
end
|
20
|
+
end
|
21
21
|
end
|
22
22
|
|
23
23
|
end
|
@@ -17,7 +17,7 @@ set :bundle_without, "test development" unless exists?(:bundle_without)
|
|
17
17
|
session.else <<-SHELL.split("\n").map(&:strip).join("; ")
|
18
18
|
mkdir -p #{shared_path}/bundled_gems
|
19
19
|
if [ -f #{release_path}/Gemfile ]
|
20
|
-
then cd #{release_path} && bundle install --without=#{bundle_without} --binstubs #{release_path}/bin --path #{shared_path}/bundled_gems
|
20
|
+
then cd #{release_path} && bundle install --without=#{bundle_without} --binstubs #{release_path}/bin --path #{shared_path}/bundled_gems --quiet
|
21
21
|
fi
|
22
22
|
if [ ! -h #{release_path}/bin ]
|
23
23
|
then ln -nfs #{release_path}/bin #{release_path}/ey_bundler_binstubs
|
@@ -25,6 +25,15 @@ set :bundle_without, "test development" unless exists?(:bundle_without)
|
|
25
25
|
SHELL
|
26
26
|
end
|
27
27
|
end
|
28
|
+
task :bundle_config, :roles => :app, :only => {:no_bundle => true} do
|
29
|
+
<<-SHELL.split("\n").map(&:strip).join("; ")
|
30
|
+
bundle config --local BIN /data/#{application}/releases/#{release_path}/bin
|
31
|
+
bundle config --local PATH /data/#{application}/shared/bundled_gems
|
32
|
+
bundle config --local DISABLE_SHARED_GEMS "1"
|
33
|
+
bundle config --local WITHOUT test:development
|
34
|
+
SHELL
|
35
|
+
end
|
28
36
|
after "deploy:symlink_configs","bundler:bundle_gems"
|
37
|
+
after "bundler:bundle_gems","bundler:bundle_config"
|
29
38
|
end
|
30
39
|
end
|
data/lib/eycap/recipes/sphinx.rb
CHANGED
@@ -3,12 +3,12 @@ Capistrano::Configuration.instance(:must_exist).load do
|
|
3
3
|
namespace :sphinx do
|
4
4
|
desc "After update_code you want to configure, then reindex"
|
5
5
|
task :configure, :roles => [:app], :only => {:sphinx => true}, :except => {:no_release => true} do
|
6
|
-
run "/engineyard/bin/searchd #{application} configure"
|
6
|
+
run "#{fetch(:engineyard_bin, "/engineyard/bin")}/searchd #{application} configure"
|
7
7
|
end
|
8
8
|
|
9
9
|
desc "After configure you want to reindex"
|
10
10
|
task :reindex, :roles => [:app], :only => {:sphinx => true} do
|
11
|
-
run "/engineyard/bin/searchd #{application} reindex"
|
11
|
+
run "#{fetch(:engineyard_bin, "/engineyard/bin")}/searchd #{application} reindex"
|
12
12
|
end
|
13
13
|
|
14
14
|
desc "Start Sphinx Searchd"
|
@@ -29,25 +29,25 @@ Capistrano::Configuration.instance(:must_exist).load do
|
|
29
29
|
task :symlink, :roles => [:app], :only => {:sphinx => true}, :except => {:no_release => true} do
|
30
30
|
run "if [ -d #{latest_release}/config/ultrasphinx ]; then mv #{latest_release}/config/ultrasphinx #{latest_release}/config/ultrasphinx.bak; fi"
|
31
31
|
run "ln -nfs #{shared_path}/config/ultrasphinx #{latest_release}/config/ultrasphinx"
|
32
|
-
end
|
32
|
+
end
|
33
33
|
end
|
34
34
|
|
35
35
|
namespace :acts_as_sphinx do
|
36
36
|
desc "After update_code you to to reindex"
|
37
37
|
task :reindex, :roles => [:app], :only => {:sphinx => true} do
|
38
|
-
run "/engineyard/bin/acts_as_sphinx_searchd #{application} reindex"
|
38
|
+
run "#{fetch(:engineyard_bin, "/engineyard/bin")}/acts_as_sphinx_searchd #{application} reindex"
|
39
39
|
end
|
40
40
|
end
|
41
41
|
|
42
42
|
namespace :thinking_sphinx do
|
43
43
|
desc "After update_code you want to configure, then reindex"
|
44
44
|
task :configure, :roles => [:app], :only => {:sphinx => true}, :except => {:no_release => true} do
|
45
|
-
run "/engineyard/bin/thinking_sphinx_searchd #{application} configure #{rails_env}"
|
45
|
+
run "#{fetch(:engineyard_bin, "/engineyard/bin")}/thinking_sphinx_searchd #{application} configure #{rails_env}"
|
46
46
|
end
|
47
47
|
|
48
48
|
desc "After configure you want to reindex"
|
49
49
|
task :reindex, :roles => [:app], :only => {:sphinx => true} do
|
50
|
-
run "/engineyard/bin/thinking_sphinx_searchd #{application} reindex #{rails_env}"
|
50
|
+
run "#{fetch(:engineyard_bin, "/engineyard/bin")}/thinking_sphinx_searchd #{application} reindex #{rails_env}"
|
51
51
|
end
|
52
52
|
|
53
53
|
task :symlink, :roles => [:app], :only => {:sphinx => true}, :except => {:no_release => true} do
|
@@ -60,17 +60,17 @@ Capistrano::Configuration.instance(:must_exist).load do
|
|
60
60
|
namespace :ultrasphinx do
|
61
61
|
desc "After update_code you want to configure, then reindex"
|
62
62
|
task :configure, :roles => [:app], :only => {:sphinx => true}, :except => {:no_release => true} do
|
63
|
-
run "/engineyard/bin/ultrasphinx_searchd #{application} configure"
|
63
|
+
run "#{fetch(:engineyard_bin, "/engineyard/bin")}/ultrasphinx_searchd #{application} configure"
|
64
64
|
end
|
65
65
|
|
66
66
|
desc "After configure you want to reindex"
|
67
67
|
task :reindex, :roles => [:app], :only => {:sphinx => true} do
|
68
|
-
run "/engineyard/bin/ultrasphinx_searchd #{application} reindex"
|
69
|
-
end
|
68
|
+
run "#{fetch(:engineyard_bin, "/engineyard/bin")}/ultrasphinx_searchd #{application} reindex"
|
69
|
+
end
|
70
70
|
|
71
71
|
task :symlink, :roles => [:app], :only => {:sphinx => true}, :except => {:no_release => true} do
|
72
72
|
run "if [ -d #{latest_release}/config/ultrasphinx ]; then mv #{latest_release}/config/ultrasphinx #{latest_release}/config/ultrasphinx.bak; fi"
|
73
73
|
run "ln -nfs #{shared_path}/config/ultrasphinx #{latest_release}/config/ultrasphinx"
|
74
|
-
end
|
74
|
+
end
|
75
75
|
end
|
76
76
|
end
|
@@ -27,28 +27,28 @@ Capistrano::Configuration.instance(:must_exist).load do
|
|
27
27
|
Reloads the unicorn works gracefully - Use deploy task for deploys
|
28
28
|
DESC
|
29
29
|
task :reload, :roles => [:app], :except => {:unicorn => false} do
|
30
|
-
run "/engineyard/bin/unicorn #{application} reload"
|
30
|
+
run "#{fetch(:engineyard_bin, "/engineyard/bin")}/unicorn #{application} reload"
|
31
31
|
end
|
32
32
|
|
33
33
|
desc <<-DESC
|
34
34
|
Adds a Unicorn worker - Beware of causing your host to swap, this setting isn't permanent
|
35
35
|
DESC
|
36
36
|
task :aworker, :roles => [:app], :except => {:unicorn => false} do
|
37
|
-
run "/engineyard/bin/unicorn #{application} aworker"
|
37
|
+
run "#{fetch(:engineyard_bin, "/engineyard/bin")}/unicorn #{application} aworker"
|
38
38
|
end
|
39
39
|
|
40
40
|
desc <<-DESC
|
41
41
|
Removes a unicorn worker (gracefully)
|
42
42
|
DESC
|
43
43
|
task :rworker, :roles => [:app], :except => {:unicorn => false} do
|
44
|
-
run "/engineyard/bin/unicorn #{application} rworker"
|
44
|
+
run "#{fetch(:engineyard_bin, "/engineyard/bin")}/unicorn #{application} rworker"
|
45
45
|
end
|
46
46
|
|
47
47
|
desc <<-DESC
|
48
48
|
Deploys app gracefully with USR2 and unicorn.rb combo
|
49
49
|
DESC
|
50
50
|
task :deploy, :roles => [:app], :except => {:unicorn => false} do
|
51
|
-
run "/engineyard/bin/unicorn #{application} deploy"
|
51
|
+
run "#{fetch(:engineyard_bin, "/engineyard/bin")}/unicorn #{application} deploy"
|
52
52
|
end
|
53
53
|
end
|
54
54
|
end
|
data/lib/eycap/version.rb
CHANGED
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: eycap
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.6.
|
5
|
+
version: 0.6.8
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Engine Yard
|
@@ -21,72 +21,72 @@ authors:
|
|
21
21
|
autorequire:
|
22
22
|
bindir: bin
|
23
23
|
cert_chain: []
|
24
|
-
date: 2013-
|
24
|
+
date: 2013-05-29 00:00:00.000000000 Z
|
25
25
|
dependencies:
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: capistrano
|
28
28
|
type: :runtime
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
|
-
none: false
|
31
30
|
requirements:
|
32
31
|
- - ! '>='
|
33
32
|
- !ruby/object:Gem::Version
|
34
33
|
version: 2.2.0
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
34
|
none: false
|
35
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
36
|
requirements:
|
39
37
|
- - ! '>='
|
40
38
|
- !ruby/object:Gem::Version
|
41
39
|
version: 2.2.0
|
40
|
+
none: false
|
41
|
+
prerelease: false
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: rake
|
44
44
|
type: :development
|
45
45
|
requirement: !ruby/object:Gem::Requirement
|
46
|
-
none: false
|
47
46
|
requirements:
|
48
47
|
- - ! '>='
|
49
48
|
- !ruby/object:Gem::Version
|
50
49
|
version: '0'
|
51
|
-
prerelease: false
|
52
|
-
version_requirements: !ruby/object:Gem::Requirement
|
53
50
|
none: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
54
52
|
requirements:
|
55
53
|
- - ! '>='
|
56
54
|
- !ruby/object:Gem::Version
|
57
55
|
version: '0'
|
56
|
+
none: false
|
57
|
+
prerelease: false
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: minitest
|
60
60
|
type: :development
|
61
61
|
requirement: !ruby/object:Gem::Requirement
|
62
|
-
none: false
|
63
62
|
requirements:
|
64
63
|
- - ! '>='
|
65
64
|
- !ruby/object:Gem::Version
|
66
65
|
version: '0'
|
67
|
-
prerelease: false
|
68
|
-
version_requirements: !ruby/object:Gem::Requirement
|
69
66
|
none: false
|
67
|
+
version_requirements: !ruby/object:Gem::Requirement
|
70
68
|
requirements:
|
71
69
|
- - ! '>='
|
72
70
|
- !ruby/object:Gem::Version
|
73
71
|
version: '0'
|
72
|
+
none: false
|
73
|
+
prerelease: false
|
74
74
|
- !ruby/object:Gem::Dependency
|
75
75
|
name: minitest-capistrano
|
76
76
|
type: :development
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
78
|
-
none: false
|
79
78
|
requirements:
|
80
79
|
- - ! '>='
|
81
80
|
- !ruby/object:Gem::Version
|
82
81
|
version: '0'
|
83
|
-
prerelease: false
|
84
|
-
version_requirements: !ruby/object:Gem::Requirement
|
85
82
|
none: false
|
83
|
+
version_requirements: !ruby/object:Gem::Requirement
|
86
84
|
requirements:
|
87
85
|
- - ! '>='
|
88
86
|
- !ruby/object:Gem::Version
|
89
87
|
version: '0'
|
88
|
+
none: false
|
89
|
+
prerelease: false
|
90
90
|
description: Capistrano recipes for the Engine Yard Managed platform.
|
91
91
|
email:
|
92
92
|
- appsupport@engineyard.com
|
@@ -140,17 +140,23 @@ rdoc_options: []
|
|
140
140
|
require_paths:
|
141
141
|
- lib
|
142
142
|
required_ruby_version: !ruby/object:Gem::Requirement
|
143
|
-
none: false
|
144
143
|
requirements:
|
145
144
|
- - ! '>='
|
146
145
|
- !ruby/object:Gem::Version
|
146
|
+
segments:
|
147
|
+
- 0
|
148
|
+
hash: -2005581508759271806
|
147
149
|
version: '0'
|
148
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
149
150
|
none: false
|
151
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
150
152
|
requirements:
|
151
153
|
- - ! '>='
|
152
154
|
- !ruby/object:Gem::Version
|
155
|
+
segments:
|
156
|
+
- 0
|
157
|
+
hash: -2005581508759271806
|
153
158
|
version: '0'
|
159
|
+
none: false
|
154
160
|
requirements: []
|
155
161
|
rubyforge_project:
|
156
162
|
rubygems_version: 1.8.23
|