ms_deploy 0.0.11 → 0.1.1
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/lib/examples/deploy.rb +25 -61
- data/lib/ms_deploy/recipes/airbrake.rb +4 -0
- data/lib/ms_deploy/recipes/assets.rb +18 -0
- data/lib/ms_deploy/recipes/bundler.rb +8 -11
- data/lib/ms_deploy/recipes/defaults.rb +81 -0
- data/lib/ms_deploy/recipes/paperclip.rb +11 -0
- data/lib/ms_deploy/recipes/{deploy/puma.rb → puma.rb} +6 -7
- data/lib/ms_deploy/recipes/rbenv.rb +7 -0
- data/lib/ms_deploy/recipes/rvm.rb +8 -0
- data/lib/ms_deploy/recipes/seeding.rb +9 -0
- data/lib/ms_deploy/recipes/{deploy/setup.rb → setup.rb} +5 -5
- data/lib/ms_deploy/recipes/unicorn.rb +30 -0
- data/lib/ms_deploy/version.rb +1 -1
- data/ms_deploy.gemspec +7 -2
- metadata +76 -15
- data/lib/ms_deploy/recipes/deploy/assets.rb +0 -15
- data/lib/ms_deploy/recipes/deploy/unicorn.rb +0 -23
- /data/lib/ms_deploy/recipes/{deploy/symlink.rb → symlink.rb} +0 -0
data/lib/examples/deploy.rb
CHANGED
@@ -4,30 +4,16 @@ set :domain, ''
|
|
4
4
|
set :deploy_domain, ''
|
5
5
|
set :vhost_domain, ''
|
6
6
|
|
7
|
-
set :user, 'deploy'
|
8
|
-
set :group, 'deploy'
|
9
|
-
|
10
|
-
set :ruby_version, "ruby-1.9.3.rc1"
|
11
7
|
set :rails_root, File.expand_path('../../', __FILE__)
|
12
|
-
|
13
|
-
set :default_environment, {
|
14
|
-
'PATH' => "/home/#{user}/.rbenv/shims:/home/#{user}/.rbenv/bin:$PATH"
|
15
|
-
}
|
16
|
-
|
17
8
|
set :rails_env, :production # use 'stage' to differ between stage environments
|
18
|
-
set :keep_releases, 10 # default
|
19
|
-
set :use_sudo, false
|
20
9
|
|
21
|
-
|
10
|
+
set :user, 'deploy'
|
22
11
|
|
23
|
-
|
24
|
-
ENV['BRANCH'] || 'xxx'
|
25
|
-
end
|
12
|
+
server domain, :web, :app, :db, :primary => true
|
26
13
|
|
27
14
|
# Multistage settings
|
28
15
|
#set :stage_dir, File.dirname(__FILE__) + '/deploy/stages'
|
29
16
|
#set :default_stage, "vagrant"
|
30
|
-
#
|
31
17
|
#require 'capistrano/ext/multistage'
|
32
18
|
|
33
19
|
# database
|
@@ -35,72 +21,36 @@ set :db_name, ''
|
|
35
21
|
set :db_user_name, ''
|
36
22
|
set :db_user_password, ''
|
37
23
|
|
38
|
-
set :
|
39
|
-
set :repository, '.git'
|
40
|
-
set :git_enable_submodules, 1
|
41
|
-
|
42
|
-
# set deployment strategy
|
43
|
-
set :deploy_via, :remote_cache
|
44
|
-
set :copy_exclude, %w(.git .svn .DS_Store test doc .gitkeep)
|
45
|
-
|
46
|
-
# :forward_agent allows us to avoid using and distributing a deploy key.
|
47
|
-
# On problems run 'ssh-add' locally
|
48
|
-
# In your /etc/ssh/ssh_config or ~/.ssh/config you need to have ForwardAgent enabled for this to work.
|
49
|
-
set :ssh_options, { :port => fetch(:ssh_port, 22), :forward_agent => true, :paranoid => true }
|
50
|
-
|
51
|
-
default_run_options[:pty] = true
|
52
|
-
|
53
|
-
# set application folder
|
54
|
-
set(:deploy_to) { "/var/projects/#{application}/#{fetch(:stage, 'production')}" }
|
55
|
-
|
56
|
-
require 'ms_deploy/recipes/nginx'
|
57
|
-
require 'ms_deploy/recipes/bundler'
|
58
|
-
require 'ms_deploy/recipes/deploy/symlink'
|
59
|
-
require 'ms_deploy/recipes/deploy/unicorn'
|
60
|
-
require 'ms_deploy/recipes/deploy/setup'
|
61
|
-
require 'ms_deploy/recipes/deploy/assets'
|
62
|
-
|
63
|
-
before 'deploy:setup', 'deploy:prepare:database';
|
64
|
-
after 'deploy:update", "deploy:cleanup'
|
24
|
+
set :branch, ENV['BRANCH'] || 'develop'
|
25
|
+
set :repository, 'xxx.git'
|
65
26
|
|
66
27
|
set(:shared_directories_to_create) {
|
67
|
-
|
68
|
-
"#{shared_path}/vendor/bundle",
|
69
|
-
"#{shared_path}/vendor/cache",
|
70
|
-
"#{shared_path}/uploads"
|
71
|
-
]
|
28
|
+
%W(#{shared_path}/bundle #{shared_path}/cache)
|
72
29
|
}
|
73
30
|
|
74
31
|
set(:shared_directories_to_link) {
|
75
32
|
{
|
76
|
-
|
33
|
+
"#{shared_path}/bundle/" => "#{release_path}/vendor/bundle"
|
77
34
|
}
|
78
35
|
}
|
79
36
|
|
80
37
|
set(:directories_to_create) {
|
81
|
-
|
82
|
-
"#{release_path}/tmp",
|
83
|
-
"#{release_path}/vendor"
|
84
|
-
]
|
38
|
+
%W()
|
85
39
|
}
|
86
40
|
|
87
41
|
set(:files_to_link) {
|
88
42
|
{
|
89
|
-
|
90
|
-
|
43
|
+
"#{shared_path}/config/config.#{stage}.yml" => "#{release_path}/config/config.local.yml",
|
44
|
+
"#{shared_path}/config/unicorn.#{stage}.rb" => "#{release_path}/config/unicorn.production.rb"
|
91
45
|
}
|
92
46
|
}
|
93
47
|
|
94
48
|
set(:config_file_to_setup) {
|
95
|
-
|
96
|
-
"config.#{stage}.yml",
|
97
|
-
"unicorn.#{stage}.rb"
|
98
|
-
]
|
49
|
+
%W(config.#{stage}.yml unicorn.#{stage}.rb)
|
99
50
|
}
|
100
51
|
|
101
52
|
set(:files_to_delete) {
|
102
|
-
|
103
|
-
]
|
53
|
+
%W()
|
104
54
|
}
|
105
55
|
|
106
56
|
set(:chmods_to_set) {
|
@@ -108,3 +58,17 @@ set(:chmods_to_set) {
|
|
108
58
|
# "#{shared_path}/data/pdf" => 755
|
109
59
|
}
|
110
60
|
}
|
61
|
+
|
62
|
+
require 'ms_deploy/recipes/defaults'
|
63
|
+
|
64
|
+
require 'ms_deploy/recipes/rbenv'
|
65
|
+
require 'ms_deploy/recipes/assets'
|
66
|
+
require 'ms_deploy/recipes/nginx'
|
67
|
+
require 'ms_deploy/recipes/bundler'
|
68
|
+
require 'ms_deploy/recipes/symlink'
|
69
|
+
require 'ms_deploy/recipes/unicorn'
|
70
|
+
require 'ms_deploy/recipes/setup'
|
71
|
+
require 'ms_deploy/recipes/monitoring'
|
72
|
+
require 'ms_deploy/recipes/seeding'
|
73
|
+
#require 'ms_deploy/recipes/paperclip'
|
74
|
+
#require 'ms_deploy/recipes/airbrake'
|
@@ -0,0 +1,18 @@
|
|
1
|
+
Capistrano::Configuration.instance.load do
|
2
|
+
|
3
|
+
load 'deploy/assets' # http://guides.rubyonrails.org/asset_pipeline.html#in-production
|
4
|
+
|
5
|
+
# http://www.bencurtis.com/2011/12/skipping-asset-compilation-with-capistrano/
|
6
|
+
namespace :deploy do
|
7
|
+
namespace :assets do
|
8
|
+
#task :precompile, :roles => :web, :except => { :no_release => true } do
|
9
|
+
# from = source.next_revision(current_revision)
|
10
|
+
# if capture("cd #{latest_release} && #{source.local.log(from)} lib/assets/ vendor/assets/ app/assets/ | wc -l").to_i > 0
|
11
|
+
# run %Q{cd #{latest_release} && #{rake} RAILS_ENV=#{rails_env} #{asset_env} assets:precompile}
|
12
|
+
# else
|
13
|
+
# logger.info "Skipping asset pre-compilation because there were no asset changes"
|
14
|
+
# end
|
15
|
+
#end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -1,26 +1,23 @@
|
|
1
1
|
Capistrano::Configuration.instance.load do
|
2
2
|
|
3
3
|
# defaults
|
4
|
-
#
|
5
|
-
#
|
6
|
-
#
|
7
|
-
|
8
|
-
|
9
|
-
set :bundle_cmd, "/home/deploy/.rbenv/shims/bundle"
|
4
|
+
#_cset :bundle_gemfile, "Gemfile"
|
5
|
+
#_cset :bundle_dir, File.join(fetch(:shared_path), 'bundle')
|
6
|
+
#_cset :bundle_roles, #{role_default} # e.g. [:app, :batch]
|
7
|
+
_cset :bundle_cmd, "/home/deploy/.rbenv/shims/bundle"
|
8
|
+
_cset :bundle_without, [:development, :test, :deploy]
|
10
9
|
# http://shapeshed.com/journal/using-rbenv-to-manage-rubies/
|
11
10
|
# you can also apply a clever technique to allow you switch versions of ruby by pushing a new .rbenv-version file with capistrano. From version 1.1rc bundler allows you to specify a shebang for binstubs. To use this add the following to your capistrano recipe.
|
12
|
-
|
11
|
+
_cset :bundle_flags, "--deployment --quiet --binstubs --shebang ruby-local-exec"
|
12
|
+
_cset :rake, 'bundle exec rake'
|
13
13
|
|
14
14
|
require 'bundler/capistrano'
|
15
15
|
|
16
|
-
set :rake, 'bundle exec rake'
|
17
|
-
|
18
16
|
namespace :bundler do
|
19
17
|
task :install_gem do
|
20
18
|
run "cd #{release_path} && gem install bundler --no-ri --no-rdoc"
|
21
19
|
end
|
22
20
|
end
|
23
21
|
|
24
|
-
before "bundle:install", "bundler:install_gem"
|
25
|
-
|
22
|
+
#before "bundle:install", "bundler:install_gem"
|
26
23
|
end
|
@@ -0,0 +1,81 @@
|
|
1
|
+
Capistrano::Configuration.instance.load do
|
2
|
+
|
3
|
+
abort "You must run this using 'bundle exec ...'" unless ENV['BUNDLE_BIN_PATH'] || ENV['BUNDLE_GEMFILE']
|
4
|
+
abort "You must set :user before using defaults" unless fetch(:user, nil)
|
5
|
+
abort "You must set :repository before using defaults" unless fetch(:repository, nil)
|
6
|
+
abort "You must set :branch before using defaults" unless fetch(:branch, nil)
|
7
|
+
|
8
|
+
set :uptodate_scm, :git
|
9
|
+
set :uptodate_branch, fetch(:branch)
|
10
|
+
#:uptodate_scm_bynary ('git') - path to SCM binary
|
11
|
+
#:uptodate_remote_repository ('origin') - remote repository
|
12
|
+
#:uptodate_time (60) - time in seconds for checking remote repository
|
13
|
+
#:uptodate_behaviour - (:confirm)
|
14
|
+
# :confirm - show outdated message and ask to confirm the further execution
|
15
|
+
# :abort - show outdated message and abort further execution
|
16
|
+
require 'capistrano/uptodate'
|
17
|
+
|
18
|
+
require 'capistrano_colors'
|
19
|
+
capistrano_color_matchers = [
|
20
|
+
{ :match => /command finished/, :color => :hide, :prio => 10 },
|
21
|
+
{ :match => /executing command/, :color => :blue, :prio => 10, :attribute => :underscore },
|
22
|
+
{ :match => /^transaction: commit$/, :color => :magenta, :prio => 10, :attribute => :blink },
|
23
|
+
{ :match => /git/, :color => :white, :prio => 20, :attribute => :reverse },
|
24
|
+
]
|
25
|
+
colorize( capistrano_color_matchers )
|
26
|
+
|
27
|
+
#Dynamically skip Capistrano hooks example
|
28
|
+
# before 'deploy:update_code', 'db:dump' unless fetch(:skip_dump, false)
|
29
|
+
# $ cap staging deploy -S skip_dump=true
|
30
|
+
|
31
|
+
set :keep_releases, 10
|
32
|
+
set :use_sudo, false
|
33
|
+
|
34
|
+
set :group, user
|
35
|
+
|
36
|
+
set :scm, :git
|
37
|
+
set :git_enable_submodules, true
|
38
|
+
|
39
|
+
# set deployment strategy
|
40
|
+
set :deploy_via, :remote_cache
|
41
|
+
set :copy_exclude, %w(.git .svn .DS_Store test doc .gitkeep)
|
42
|
+
#set :repository_cache, "cached-copy" # defaults to :shared_path + 'cached-copy/'
|
43
|
+
|
44
|
+
# :forward_agent allows us to avoid using and distributing a deploy key.
|
45
|
+
# On problems run 'ssh-add' locally
|
46
|
+
# In your /etc/ssh/ssh_config or ~/.ssh/config you need to have ForwardAgent enabled for this to work.
|
47
|
+
set :ssh_options, {:port => fetch(:ssh_port, 22), :forward_agent => true, :paranoid => true}
|
48
|
+
|
49
|
+
default_run_options[:pty] = true
|
50
|
+
|
51
|
+
before 'deploy:setup', 'deploy:prepare:database';
|
52
|
+
after 'deploy:update', 'deploy:cleanup'
|
53
|
+
|
54
|
+
desc "Show currently deployed revision on server."
|
55
|
+
task :revisions, :roles => :app do
|
56
|
+
current, previous, latest = current_revision[0,7], previous_revision[0,7], real_revision[0,7]
|
57
|
+
puts "\n" << "-"*63
|
58
|
+
puts "===== Master Revision: \033[1;33m#{latest}\033[0m\n\n"
|
59
|
+
puts "===== [ \033[1;36m#{application.capitalize} - #{stage.capitalize}\033[0m ]"
|
60
|
+
puts "=== Deployed Revision: \033[1;32m#{current}\033[0m"
|
61
|
+
puts "=== Previous Revision: \033[1;32m#{previous}\033[0m\n\n"
|
62
|
+
|
63
|
+
# If deployed and master are the same, show the difference between the last 2 deployments.
|
64
|
+
base_label, new_label, base_rev, new_rev = latest != current ? \
|
65
|
+
["deployed", "master", current, latest] : \
|
66
|
+
["previous", "deployed", previous, current]
|
67
|
+
|
68
|
+
# Show difference between master and deployed revisions.
|
69
|
+
if (diff = `git log #{base_rev}..#{new_rev} --oneline`) != ""
|
70
|
+
# Colorize refs
|
71
|
+
diff.gsub!(/^([a-f0-9]+) /, "\033[1;32m\\1\033[0m - ")
|
72
|
+
diff = " " << diff.gsub("\n", "\n ") << "\n"
|
73
|
+
# Indent commit messages nicely, max 80 chars per line, line has to end with space.
|
74
|
+
diff = diff.split("\n").map{|l|l.scan(/.{1,120}/).join("\n"<<" "*14).gsub(/([^ ]*)\n {14}/m,"\n"<<" "*14<<"\\1")}.join("\n")
|
75
|
+
puts "=== Difference between #{base_label} revision and #{new_label} revision:\n\n"
|
76
|
+
puts diff
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
after "deploy", "revisions"
|
81
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
Capistrano::Configuration.instance.load do
|
2
|
+
|
3
|
+
namespace :deploy do
|
4
|
+
desc "build missing paperclip styles"
|
5
|
+
task :build_missing_paperclip_styles, :roles => :app do
|
6
|
+
run "cd #{release_path}; RAILS_ENV=production bundle exec rake paperclip:refresh:missing_styles"
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
after("deploy:update_code", "deploy:build_missing_paperclip_styles")
|
11
|
+
end
|
@@ -1,12 +1,11 @@
|
|
1
1
|
Capistrano::Configuration.instance.load do
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
set :puma_thread_pool, '0:16'
|
3
|
+
_cset :puma_binary, "bundle exec puma"
|
4
|
+
_cset :pumactl_binary, "bundle exec pumactl"
|
5
|
+
_cset :puma_state, "tmp/puma_state"
|
6
|
+
_cset :puma_tcp_port, 9292
|
7
|
+
_cset :puma_control_tcp_port, puma_tcp_port.to_i + 1
|
8
|
+
_cset :puma_thread_pool, '0:16'
|
10
9
|
|
11
10
|
namespace :deploy do
|
12
11
|
task :start, :roles => :app, :except => { :no_release => true } do
|
@@ -0,0 +1,8 @@
|
|
1
|
+
Capistrano::Configuration.instance.load do
|
2
|
+
abort "You must set :ruby_version before using defaults" unless fetch(:ruby_version)
|
3
|
+
|
4
|
+
#$:.unshift(File.expand_path('./lib', ENV['rvm_path']))
|
5
|
+
require "rvm/capistrano"
|
6
|
+
set :rvm_ruby_string, fetch(:ruby_version)
|
7
|
+
set :rvm_type, :user
|
8
|
+
end
|
@@ -15,11 +15,11 @@ Capistrano::Configuration.instance.load do
|
|
15
15
|
end
|
16
16
|
|
17
17
|
task :database do
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
18
|
+
_cset :db_admin_user, 'root'
|
19
|
+
_cset :db_admin_password, Capistrano::CLI.password_prompt("Type your mysql password for user '#{db_admin_user}' (not set if empty): ")
|
20
|
+
_cset :db_name, application.gsub(/\W+/, '')[0..5] + '_' + rails_env.to_s
|
21
|
+
_cset :db_user_name, application
|
22
|
+
_cset :db_user_password, ''
|
23
23
|
|
24
24
|
unless db_admin_password.to_s.empty?
|
25
25
|
unless database_exits?
|
@@ -0,0 +1,30 @@
|
|
1
|
+
Capistrano::Configuration.instance.load do
|
2
|
+
|
3
|
+
set :unicorn_bin, "bundle exec unicorn"
|
4
|
+
set :unicorn_config, "config/unicorn.#{fetch(:stage, 'production')}.rb"
|
5
|
+
set :unicorn_pid, "tmp/pids/unicorn.pid"
|
6
|
+
|
7
|
+
#require "capistrano-unicorn"
|
8
|
+
|
9
|
+
namespace :deploy do
|
10
|
+
desc 'Start unicorn'
|
11
|
+
task :start, :roles => :app, :except => {:no_release => true} do
|
12
|
+
run "cd #{current_path} && #{try_sudo} #{unicorn_bin} -c #{current_path}/#{unicorn_config} -E #{rails_env} -D"
|
13
|
+
end
|
14
|
+
|
15
|
+
desc 'Stop unicorn'
|
16
|
+
task :stop, :roles => :app, :except => {:no_release => true} do
|
17
|
+
run "if [ -f #{current_path}/#{unicorn_pid} ]; then #{try_sudo} kill -QUIT `cat #{current_path}/#{unicorn_pid}`; fi"
|
18
|
+
end
|
19
|
+
|
20
|
+
desc 'Restart unicorn'
|
21
|
+
task :restart, :roles => :app, :except => {:no_release => true} do
|
22
|
+
run "cd #{current_path} && #{try_sudo} kill -HUP `cat #{current_path}/#{unicorn_pid}`"
|
23
|
+
end
|
24
|
+
|
25
|
+
desc 'Reexecute unicorn'
|
26
|
+
task :reexec, :roles => :app, :except => {:no_release => true} do
|
27
|
+
run "cd #{current_path} && kill -USR2 `cat #{current_path}/#{unicorn_pid}`"
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
data/lib/ms_deploy/version.rb
CHANGED
data/ms_deploy.gemspec
CHANGED
@@ -14,8 +14,13 @@ Gem::Specification.new do |gem|
|
|
14
14
|
gem.name = "ms_deploy"
|
15
15
|
gem.require_paths = ["lib"]
|
16
16
|
|
17
|
-
gem.add_dependency('capistrano')
|
18
|
-
gem.add_dependency('capistrano-ext')
|
17
|
+
gem.add_dependency('capistrano', '>= 2.12.0')
|
18
|
+
gem.add_dependency('capistrano-ext', '>= 1.2.1')
|
19
|
+
gem.add_dependency('capistrano_colors', '>= 0.5.5')
|
20
|
+
gem.add_dependency('capistrano-unicorn', '>= 0.1.6')
|
21
|
+
gem.add_dependency('capistrano-file_db', '>= 0.1.0')
|
22
|
+
gem.add_dependency('capistrano-uptodate', '>= 0.0.2')
|
23
|
+
gem.add_dependency('rvm-capistrano', '>= 1.2.2')
|
19
24
|
gem.add_dependency('erubis')
|
20
25
|
|
21
26
|
gem.version = MsDeploy::VERSION
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ms_deploy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.1.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,33 +9,88 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-06-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: capistrano
|
16
|
-
requirement: &
|
16
|
+
requirement: &83071140 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version:
|
21
|
+
version: 2.12.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *83071140
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: capistrano-ext
|
27
|
-
requirement: &
|
27
|
+
requirement: &83070650 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
32
|
+
version: 1.2.1
|
33
|
+
type: :runtime
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *83070650
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: capistrano_colors
|
38
|
+
requirement: &83070190 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 0.5.5
|
44
|
+
type: :runtime
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *83070190
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: capistrano-unicorn
|
49
|
+
requirement: &83069790 !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 0.1.6
|
55
|
+
type: :runtime
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: *83069790
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: capistrano-file_db
|
60
|
+
requirement: &83069310 !ruby/object:Gem::Requirement
|
61
|
+
none: false
|
62
|
+
requirements:
|
63
|
+
- - ! '>='
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: 0.1.0
|
66
|
+
type: :runtime
|
67
|
+
prerelease: false
|
68
|
+
version_requirements: *83069310
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: capistrano-uptodate
|
71
|
+
requirement: &83068840 !ruby/object:Gem::Requirement
|
72
|
+
none: false
|
73
|
+
requirements:
|
74
|
+
- - ! '>='
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: 0.0.2
|
77
|
+
type: :runtime
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: *83068840
|
80
|
+
- !ruby/object:Gem::Dependency
|
81
|
+
name: rvm-capistrano
|
82
|
+
requirement: &83068290 !ruby/object:Gem::Requirement
|
83
|
+
none: false
|
84
|
+
requirements:
|
85
|
+
- - ! '>='
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: 1.2.2
|
33
88
|
type: :runtime
|
34
89
|
prerelease: false
|
35
|
-
version_requirements: *
|
90
|
+
version_requirements: *83068290
|
36
91
|
- !ruby/object:Gem::Dependency
|
37
92
|
name: erubis
|
38
|
-
requirement: &
|
93
|
+
requirement: &83067760 !ruby/object:Gem::Requirement
|
39
94
|
none: false
|
40
95
|
requirements:
|
41
96
|
- - ! '>='
|
@@ -43,7 +98,7 @@ dependencies:
|
|
43
98
|
version: '0'
|
44
99
|
type: :runtime
|
45
100
|
prerelease: false
|
46
|
-
version_requirements: *
|
101
|
+
version_requirements: *83067760
|
47
102
|
description: capistrano deployment task for my projects
|
48
103
|
email:
|
49
104
|
- michael.schiller@gmx.de
|
@@ -57,16 +112,22 @@ files:
|
|
57
112
|
- Rakefile
|
58
113
|
- lib/examples/deploy.rb
|
59
114
|
- lib/ms_deploy.rb
|
115
|
+
- lib/ms_deploy/recipes/airbrake.rb
|
116
|
+
- lib/ms_deploy/recipes/assets.rb
|
60
117
|
- lib/ms_deploy/recipes/bundler.rb
|
61
|
-
- lib/ms_deploy/recipes/
|
62
|
-
- lib/ms_deploy/recipes/deploy/puma.rb
|
63
|
-
- lib/ms_deploy/recipes/deploy/setup.rb
|
64
|
-
- lib/ms_deploy/recipes/deploy/symlink.rb
|
65
|
-
- lib/ms_deploy/recipes/deploy/unicorn.rb
|
118
|
+
- lib/ms_deploy/recipes/defaults.rb
|
66
119
|
- lib/ms_deploy/recipes/info.rb
|
67
120
|
- lib/ms_deploy/recipes/monitoring.rb
|
68
121
|
- lib/ms_deploy/recipes/nginx.rb
|
122
|
+
- lib/ms_deploy/recipes/paperclip.rb
|
123
|
+
- lib/ms_deploy/recipes/puma.rb
|
124
|
+
- lib/ms_deploy/recipes/rbenv.rb
|
69
125
|
- lib/ms_deploy/recipes/redis.rb
|
126
|
+
- lib/ms_deploy/recipes/rvm.rb
|
127
|
+
- lib/ms_deploy/recipes/seeding.rb
|
128
|
+
- lib/ms_deploy/recipes/setup.rb
|
129
|
+
- lib/ms_deploy/recipes/symlink.rb
|
130
|
+
- lib/ms_deploy/recipes/unicorn.rb
|
70
131
|
- lib/ms_deploy/recipes/whenever.rb
|
71
132
|
- lib/ms_deploy/render.rb
|
72
133
|
- lib/ms_deploy/templates/vhost.erb
|
@@ -1,15 +0,0 @@
|
|
1
|
-
Capistrano::Configuration.instance.load do
|
2
|
-
# http://www.bencurtis.com/2011/12/skipping-asset-compilation-with-capistrano/
|
3
|
-
namespace :deploy do
|
4
|
-
namespace :assets do
|
5
|
-
task :precompile, :roles => :web, :except => { :no_release => true } do
|
6
|
-
from = source.next_revision(current_revision)
|
7
|
-
if capture("cd #{latest_release} && #{source.local.log(from)} lib/assets/ vendor/assets/ app/assets/ | wc -l").to_i > 0
|
8
|
-
run %Q{cd #{latest_release} && #{rake} RAILS_ENV=#{rails_env} #{asset_env} assets:precompile}
|
9
|
-
else
|
10
|
-
logger.info "Skipping asset pre-compilation because there were no asset changes"
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
@@ -1,23 +0,0 @@
|
|
1
|
-
Capistrano::Configuration.instance.load do
|
2
|
-
|
3
|
-
set :unicorn_binary, "bundle exec unicorn"
|
4
|
-
set :unicorn_config, "config/unicorn.#{fetch(:stage, 'production')}.rb"
|
5
|
-
set :unicorn_pid, "tmp/pids/unicorn.pid"
|
6
|
-
|
7
|
-
namespace :deploy do
|
8
|
-
task :start, :roles => :app, :except => { :no_release => true } do
|
9
|
-
run "cd #{current_path} && #{try_sudo} #{unicorn_binary} -c #{current_path}/#{unicorn_config} -E #{rails_env} -D"
|
10
|
-
end
|
11
|
-
task :stop, :roles => :app, :except => { :no_release => true } do
|
12
|
-
run "if [ -f #{current_path}/#{unicorn_pid} ]; then #{try_sudo} kill `cat #{current_path}/#{unicorn_pid}`; fi"
|
13
|
-
end
|
14
|
-
task :graceful_stop, :roles => :app, :except => { :no_release => true } do
|
15
|
-
run "#{try_sudo} kill -s QUIT `cat #{unicorn_pid}`"
|
16
|
-
end
|
17
|
-
task :restart, :roles => :app, :except => { :no_release => true } do
|
18
|
-
stop
|
19
|
-
start
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
end
|
File without changes
|