eycap 0.5.17 → 0.5.18
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 +7 -0
- data/Manifest.txt +22 -20
- data/README.txt +0 -2
- data/lib/eycap.rb +1 -1
- data/lib/eycap/lib/ey_logger.rb +1 -1
- data/lib/eycap/recipes.rb +13 -12
- data/lib/eycap/recipes/bundler.rb +3 -2
- data/lib/eycap/recipes/resque.rb +1 -1
- data/lib/eycap/recipes/slice.rb +8 -0
- data/lib/eycap/recipes/unicorn.rb +54 -0
- metadata +7 -6
data/History.txt
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
== 0.5.18 / 2011-05-24
|
2
|
+
* Added task to tail apache logs. (lightcap)
|
3
|
+
* Using --binstubs to put executables in app_root/bin. (lightcap)
|
4
|
+
* Added unicorn recipe to stop/start/restart. (timo3377)
|
5
|
+
* Fix for eylogger and ruby 1.9.x. (atavistock)
|
6
|
+
* Changed resque restart to sudo instead of run. (mdolian)
|
7
|
+
|
1
8
|
== 0.5.17 / 2011-04-13
|
2
9
|
* Fixed it so resque:restart is not called for any deploy.
|
3
10
|
|
data/Manifest.txt
CHANGED
@@ -8,25 +8,27 @@ lib/eycap.rb
|
|
8
8
|
lib/eycap/lib/ey_logger.rb
|
9
9
|
lib/eycap/lib/ey_logger_hooks.rb
|
10
10
|
lib/eycap/recipes.rb
|
11
|
-
lib/eycap/
|
12
|
-
lib/eycap/
|
13
|
-
lib/eycap/recipes/
|
14
|
-
lib/eycap/recipes/
|
15
|
-
lib/eycap/recipes/
|
16
|
-
lib/eycap/recipes/
|
17
|
-
lib/eycap/recipes/
|
18
|
-
lib/eycap/recipes/
|
19
|
-
lib/eycap/recipes/
|
20
|
-
lib/eycap/recipes/
|
21
|
-
lib/eycap/recipes/
|
22
|
-
lib/eycap/recipes/
|
23
|
-
lib/eycap/recipes/
|
24
|
-
lib/eycap/recipes/
|
25
|
-
lib/eycap/recipes/
|
26
|
-
lib/eycap/recipes/
|
27
|
-
lib/eycap/recipes/
|
28
|
-
lib/eycap/recipes/
|
29
|
-
lib/eycap/recipes/
|
30
|
-
lib/eycap/recipes/
|
11
|
+
lib/eycap/lib/ey_logger
|
12
|
+
lib/eycap/lib/ey_logger_hooks
|
13
|
+
lib/eycap/recipes/apache
|
14
|
+
lib/eycap/recipes/backgroundrb
|
15
|
+
lib/eycap/recipes/bundler
|
16
|
+
lib/eycap/recipes/database
|
17
|
+
lib/eycap/recipes/delayed_job
|
18
|
+
lib/eycap/recipes/deploy
|
19
|
+
lib/eycap/recipes/ferret
|
20
|
+
lib/eycap/recipes/juggernaut
|
21
|
+
lib/eycap/recipes/memcached
|
22
|
+
lib/eycap/recipes/mongrel
|
23
|
+
lib/eycap/recipes/monit
|
24
|
+
lib/eycap/recipes/nginx
|
25
|
+
lib/eycap/recipes/passenger
|
26
|
+
lib/eycap/recipes/resque
|
27
|
+
lib/eycap/recipes/slice
|
28
|
+
lib/eycap/recipes/solr
|
29
|
+
lib/eycap/recipes/sphinx
|
30
|
+
lib/eycap/recipes/ssl
|
31
|
+
lib/eycap/recipes/tomcat
|
32
|
+
lib/eycap/recipes/unicorn
|
31
33
|
test/test_eycap.rb
|
32
34
|
test/test_helper.rb
|
data/README.txt
CHANGED
@@ -14,8 +14,6 @@ Also included is a deployment strategy, :filtered_remote_cache, which speeds up
|
|
14
14
|
|
15
15
|
== INSTALL:
|
16
16
|
|
17
|
-
$ gem install gemcutter # installs the gemcutter gem
|
18
|
-
$ gem tumble # puts gemcutter as your top source
|
19
17
|
$ gem install eycap # installs the latest eycap version
|
20
18
|
|
21
19
|
== SOURCE:
|
data/lib/eycap.rb
CHANGED
data/lib/eycap/lib/ey_logger.rb
CHANGED
@@ -41,7 +41,7 @@ module Capistrano
|
|
41
41
|
@_deploy_log_file = File.open(@_log_file_path, "w") if @_deploy_log_file.nil?
|
42
42
|
|
43
43
|
indent = "%*s" % [Logger::MAX_LEVEL, "*" * (Logger::MAX_LEVEL - level)]
|
44
|
-
message.
|
44
|
+
message.each_line do |line|
|
45
45
|
if line_prefix
|
46
46
|
@_deploy_log_file << "#{indent} [#{line_prefix}] #{line.strip}\n"
|
47
47
|
else
|
data/lib/eycap/recipes.rb
CHANGED
@@ -1,24 +1,25 @@
|
|
1
1
|
require 'eycap/lib/ey_logger'
|
2
2
|
require 'eycap/lib/ey_logger_hooks'
|
3
|
+
require 'eycap/recipes/apache'
|
4
|
+
require 'eycap/recipes/backgroundrb'
|
5
|
+
require 'eycap/recipes/bundler'
|
3
6
|
require 'eycap/recipes/database'
|
7
|
+
require 'eycap/recipes/delayed_job'
|
8
|
+
require 'eycap/recipes/deploy'
|
4
9
|
require 'eycap/recipes/ferret'
|
10
|
+
require 'eycap/recipes/juggernaut'
|
11
|
+
require 'eycap/recipes/memcached'
|
5
12
|
require 'eycap/recipes/mongrel'
|
13
|
+
require 'eycap/recipes/monit'
|
6
14
|
require 'eycap/recipes/nginx'
|
15
|
+
require 'eycap/recipes/passenger'
|
16
|
+
require 'eycap/recipes/resque'
|
7
17
|
require 'eycap/recipes/slice'
|
8
|
-
require 'eycap/recipes/deploy'
|
9
|
-
require 'eycap/recipes/sphinx'
|
10
|
-
require 'eycap/recipes/backgroundrb'
|
11
|
-
require 'eycap/recipes/memcached'
|
12
18
|
require 'eycap/recipes/solr'
|
13
|
-
require 'eycap/recipes/
|
14
|
-
require 'eycap/recipes/tomcat'
|
15
|
-
require 'eycap/recipes/juggernaut'
|
16
|
-
require 'eycap/recipes/passenger'
|
17
|
-
require 'eycap/recipes/apache'
|
18
|
-
require 'eycap/recipes/bundler'
|
19
|
+
require 'eycap/recipes/sphinx'
|
19
20
|
require 'eycap/recipes/ssl'
|
20
|
-
require 'eycap/recipes/
|
21
|
-
require 'eycap/recipes/
|
21
|
+
require 'eycap/recipes/tomcat'
|
22
|
+
require 'eycap/recipes/unicorn'
|
22
23
|
|
23
24
|
Capistrano::Configuration.instance(:must_exist).load do
|
24
25
|
default_run_options[:pty] = true if respond_to?(:default_run_options)
|
@@ -2,8 +2,9 @@ Capistrano::Configuration.instance(:must_exist).load do
|
|
2
2
|
namespace :bundler do
|
3
3
|
desc "Automatically installed your bundled gems if a Gemfile exists"
|
4
4
|
task :bundle_gems do
|
5
|
-
run "
|
5
|
+
run "mkdir -p #{shared_path}/bundled_gems"
|
6
|
+
run "if [ -f #{release_path}/Gemfile ]; then cd #{release_path} && bundle install --without=test,development --binstubs #{release_path}/bin --path #{shared_path}/bundled_gems; fi"
|
6
7
|
end
|
7
8
|
after "deploy:symlink_configs","bundler:bundle_gems"
|
8
9
|
end
|
9
|
-
end
|
10
|
+
end
|
data/lib/eycap/recipes/resque.rb
CHANGED
@@ -3,7 +3,7 @@ Capistrano::Configuration.instance(:must_exist).load do
|
|
3
3
|
namespace :resque do
|
4
4
|
desc "After deploy:restart we want to restart the workers"
|
5
5
|
task :restart, :roles => [:app], :only => {:resque => true} do
|
6
|
-
|
6
|
+
sudo "monit restart all -g resque_#{application}"
|
7
7
|
end
|
8
8
|
|
9
9
|
desc "After update_code we want to symlink the resque.yml"
|
data/lib/eycap/recipes/slice.rb
CHANGED
@@ -17,5 +17,13 @@ Capistrano::Configuration.instance(:must_exist).load do
|
|
17
17
|
break if stream == :err
|
18
18
|
end
|
19
19
|
end
|
20
|
+
desc "Tail the apache logs for your environment"
|
21
|
+
task :tail_apache_logs, :roles => [:app, :web] do
|
22
|
+
run "tail -f /var/log/apache2/#{application}.*.access.log" do |channel, stream, data|
|
23
|
+
puts # line break
|
24
|
+
puts "#{channel[:server]} -> #{data}"
|
25
|
+
break if stream == :err
|
26
|
+
end
|
27
|
+
end
|
20
28
|
end
|
21
29
|
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
Capistrano::Configuration.instance(:must_exist).load do
|
2
|
+
namespace :unicorn do
|
3
|
+
desc <<-DESC
|
4
|
+
Start the Unicorn Master. This uses the :use_sudo variable to determine whether to use sudo or not. By default, :use_sudo is set to true.
|
5
|
+
DESC
|
6
|
+
task :start, :roles => [:app], :except => {:unicorn => false} do
|
7
|
+
sudo "/usr/bin/monit start all -g #{monit_group}"
|
8
|
+
end
|
9
|
+
|
10
|
+
desc <<-DESC
|
11
|
+
Restart the Unicorn processes on the app server by starting and stopping the master. This uses the :use_sudo variable to determine whether to use sudo or not. By default, :use_sudo is set to true.
|
12
|
+
DESC
|
13
|
+
task :restart, :roles => [:app], :except => {:unicorn => false} do
|
14
|
+
sudo "/usr/bin/monit restart all -g #{monit_group}"
|
15
|
+
end
|
16
|
+
|
17
|
+
desc <<-DESC
|
18
|
+
Stop the Unicorn processes on the app server. This uses the :use_sudo
|
19
|
+
variable to determine whether to use sudo or not. By default, :use_sudo is
|
20
|
+
set to true.
|
21
|
+
DESC
|
22
|
+
task :stop, :roles => [:app], :except => {:unicorn => false} do
|
23
|
+
sudo "/usr/bin/monit stop all -g #{monit_group}"
|
24
|
+
end
|
25
|
+
|
26
|
+
desc <<-DESC
|
27
|
+
Reloads the unicorn works gracefully - Use deploy task for deploys
|
28
|
+
DESC
|
29
|
+
task :reload, :roles => [:app], :except => {:unicorn => false} do
|
30
|
+
sudo "/engineyard/bin/unicorn #{application} reload"
|
31
|
+
end
|
32
|
+
|
33
|
+
desc <<-DESC
|
34
|
+
Adds a Unicorn worker - Beware of causing your host to swap, this setting isn't permanent
|
35
|
+
DESC
|
36
|
+
task :aworker, :roles => [:app], :except => {:unicorn => false} do
|
37
|
+
sudo "/engineyard/bin/unicorn #{application} aworker"
|
38
|
+
end
|
39
|
+
|
40
|
+
desc <<-DESC
|
41
|
+
Removes a unicorn worker (gracefully)
|
42
|
+
DESC
|
43
|
+
task :rworker, :roles => [:app], :except => {:unicorn => false} do
|
44
|
+
sudo "/engineyard/bin/unicorn #{application} rworker"
|
45
|
+
end
|
46
|
+
|
47
|
+
desc <<-DESC
|
48
|
+
Deploys app gracefully with USR2 and unicorn.rb combo
|
49
|
+
DESC
|
50
|
+
task :deploy, :roles => [:app], :except => {:unicorn => false} do
|
51
|
+
sudo "/engineyard/bin/unicorn #{application} deploy"
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: eycap
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 47
|
5
|
+
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 5
|
9
|
-
-
|
10
|
-
version: 0.5.
|
9
|
+
- 18
|
10
|
+
version: 0.5.18
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Engine Yard
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-
|
18
|
+
date: 2011-05-24 00:00:00 -06:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -87,6 +87,7 @@ files:
|
|
87
87
|
- lib/eycap/recipes/ssl.rb
|
88
88
|
- lib/eycap/recipes/templates/maintenance.rhtml
|
89
89
|
- lib/eycap/recipes/tomcat.rb
|
90
|
+
- lib/eycap/recipes/unicorn.rb
|
90
91
|
- lib/eycap/recipes/apache.rb
|
91
92
|
- lib/eycap/recipes/delayed_job.rb
|
92
93
|
- lib/eycap/recipes/bundler.rb
|
@@ -124,7 +125,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
124
125
|
requirements: []
|
125
126
|
|
126
127
|
rubyforge_project: eycap
|
127
|
-
rubygems_version: 1.
|
128
|
+
rubygems_version: 1.3.7
|
128
129
|
signing_key:
|
129
130
|
specification_version: 2
|
130
131
|
summary: Capistrano tasks for Engine Yard private cloud.
|