capistrano-deploy 0.0.7 → 0.1.0

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/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
1
  source "http://rubygems.org"
2
2
 
3
- # Specify your gem's dependencies in capistrano-lest.gemspec
3
+ # Specify your gem's dependencies in capistrano-deploy.gemspec
4
4
  gemspec
data/README.md CHANGED
@@ -1,14 +1,13 @@
1
1
  Capistrano deploy recipes
2
- ==================
2
+ =========================
3
3
 
4
- Deploy
5
- ------
6
-
7
- Git-based deployment process.
4
+ Git & Rails
5
+ -----------
8
6
 
9
- Minimal Capfile for deploy:
7
+ Minimal Capfile for Rails deploy using Git:
10
8
 
11
- require 'capistrano-deploy/deploy'
9
+ require 'capistrano-deploy'
10
+ use_recipes :git, :rails
12
11
 
13
12
  server 'server name or ip address', :web, :app, :db, :primary => true
14
13
  set :user, 'user for deploy'
@@ -34,7 +33,7 @@ To look through changes to be deployed:
34
33
  Multistage
35
34
  ----------
36
35
 
37
- require 'capistrano-deploy/multistage'
36
+ use_recipe :multistage
38
37
 
39
38
  set :default_stage, :development
40
39
 
@@ -49,21 +48,21 @@ Multistage
49
48
  Bundle
50
49
  ------
51
50
 
52
- require 'capistrano-deploy/bundle'
51
+ use_recipe :bundle
53
52
 
54
53
  To automatically install missing gems:
55
54
 
56
- after 'deploy:update_code', 'bundle:install'
55
+ after 'deploy:update', 'bundle:install'
57
56
 
58
57
  Passenger
59
58
  ---------
60
59
 
61
- require 'capistrano-deploy/passenger'
60
+ use_recipe :passenger
62
61
 
63
62
  Unicorn
64
63
  -------
65
64
 
66
- require 'capistrano-deploy/unicorn'
65
+ use_recipe :unicorn
67
66
 
68
67
  Now you can setup to reload unicorn on `deploy:restart`:
69
68
 
@@ -72,7 +71,7 @@ Now you can setup to reload unicorn on `deploy:restart`:
72
71
  Whenever
73
72
  --------
74
73
 
75
- require 'capistrano-deploy/whenever'
74
+ use_recipe :whenever
76
75
 
77
76
  To automatically update crontab file:
78
77
 
@@ -1,7 +1,7 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  Gem::Specification.new do |s|
3
3
  s.name = 'capistrano-deploy'
4
- s.version = '0.0.7'
4
+ s.version = '0.1.0'
5
5
  s.platform = Gem::Platform::RUBY
6
6
  s.authors = ['Just Lest']
7
7
  s.email = ['just.lest@gmail.com']
@@ -0,0 +1,27 @@
1
+ Capistrano::Configuration.instance(:must_exist).load do
2
+ def use_recipe(recipe)
3
+ require "capistrano-deploy/#{recipe}"
4
+ end
5
+
6
+ def use_recipes(*recipes)
7
+ recipes.each do |recipe|
8
+ use_recipe(recipe)
9
+ end
10
+ end
11
+
12
+ namespace :deploy do
13
+ desc 'Run deploy'
14
+ task :default do
15
+ update
16
+ restart
17
+ end
18
+
19
+ task :update do
20
+ # nothing
21
+ end
22
+
23
+ task :restart do
24
+ # nothing
25
+ end
26
+ end
27
+ end
@@ -1,3 +1,5 @@
1
+ warn "[DEPRECATION] require 'capistrano-deploy/deploy' is deprecated. Please use require 'capistrano-deploy' and use_recipes :git, :rails instead."
2
+
1
3
  Capistrano::Configuration.instance(:must_exist).load do
2
4
  ssh_options[:forward_agent] = true
3
5
 
@@ -0,0 +1,30 @@
1
+ Capistrano::Configuration.instance(:must_exist).load do
2
+ ssh_options[:forward_agent] = true
3
+
4
+ set(:application) { repository.slice(/[^\/:]+?(?=\.git$)/) }
5
+ set(:repository) { abort "Please specify repository, set :repository, 'foo'" }
6
+ set :branch, 'master'
7
+ set :enable_submodules, false
8
+
9
+ set(:current_revision) { capture("cd #{deploy_to} && git rev-parse HEAD").chomp }
10
+
11
+ namespace :deploy do
12
+ desc 'Setup'
13
+ task :setup, :except => {:no_release => true} do
14
+ run "mkdir -p `dirname #{deploy_to}` && git clone --no-checkout #{repository} #{deploy_to}"
15
+ update_code
16
+ end
17
+
18
+ desc 'Update the deployed code'
19
+ task :update, :except => {:no_release => true} do
20
+ command = ["cd #{deploy_to}", 'git fetch origin', "git reset --hard origin/#{branch}"]
21
+ command += ['git submodule init', 'git submodule -q sync', 'git submodule -q update'] if enable_submodules
22
+ run command.join(' && ')
23
+ end
24
+
25
+ desc 'Show pending commits'
26
+ task :pending do
27
+ system("git log --pretty=medium --stat #{current_revision}..origin/#{branch}")
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,17 @@
1
+ Capistrano::Configuration.instance(:must_exist).load do
2
+ namespace :deploy do
3
+ desc 'Deploy & migrate'
4
+ task :migrations do
5
+ update
6
+ migrate
7
+ restart
8
+ end
9
+
10
+ desc 'Run migrations'
11
+ task :migrate, :roles => :db, :only => {:primary => true} do
12
+ rake = fetch(:rake, 'rake')
13
+ rails_env = fetch(:rails_env, 'production')
14
+ run "cd #{deploy_to} && RAILS_ENV=#{rails_env} #{rake} db:migrate"
15
+ end
16
+ end
17
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capistrano-deploy
3
3
  version: !ruby/object:Gem::Version
4
- hash: 17
4
+ hash: 27
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
+ - 1
8
9
  - 0
9
- - 7
10
- version: 0.0.7
10
+ version: 0.1.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Just Lest
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-03-04 00:00:00 +02:00
18
+ date: 2011-03-22 00:00:00 +02:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -49,10 +49,13 @@ files:
49
49
  - README.md
50
50
  - Rakefile
51
51
  - capistrano-deploy.gemspec
52
+ - lib/capistrano-deploy.rb
52
53
  - lib/capistrano-deploy/bundle.rb
53
54
  - lib/capistrano-deploy/deploy.rb
55
+ - lib/capistrano-deploy/git.rb
54
56
  - lib/capistrano-deploy/multistage.rb
55
57
  - lib/capistrano-deploy/passenger.rb
58
+ - lib/capistrano-deploy/rails.rb
56
59
  - lib/capistrano-deploy/unicorn.rb
57
60
  - lib/capistrano-deploy/whenever.rb
58
61
  has_rdoc: true