easy-deployment 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,5 +1,5 @@
1
1
  module Easy
2
2
  module Deployment
3
- VERSION = "0.1.2"
3
+ VERSION = "0.1.3"
4
4
  end
5
5
  end
@@ -3,6 +3,22 @@
3
3
 
4
4
  Capistrano::Configuration.instance(:must_exist).load do
5
5
 
6
+ # color the string
7
+ def red(str)
8
+ "\e[31m#{str}\e[0m"
9
+ end
10
+
11
+ # Get the name of the current local branch
12
+ def current_git_branch
13
+ current_branch = `git symbolic-ref HEAD 2> /dev/null`.strip.gsub(/^refs\/heads\//, '')
14
+ puts red("Warning: Redundant use of 'tag'. Your current branch is deployed by default") if ENV['tag'] == current_branch
15
+ branch_to_deploy = ENV['tag'] || current_branch
16
+ puts "Deploying branch #{red branch_to_deploy}"
17
+ branch_to_deploy
18
+ end
19
+
20
+ set :branch, current_git_branch
21
+
6
22
  # ssh options
7
23
  set :use_sudo, false
8
24
  ssh_options[:forward_agent] = true # run `ssh-add ;` to ensure your identity file is added
@@ -30,19 +46,6 @@ Capistrano::Configuration.instance(:must_exist).load do
30
46
  run "cd #{directory}; RAILS_ENV=#{stage} bundle exec rake db:create"
31
47
  end
32
48
 
33
- desc "Load reference data"
34
- task :reference_data, :roles => :db, :only => { :primary => true } do
35
- migrate_target = fetch(:migrate_target, :latest)
36
-
37
- directory = case migrate_target.to_sym
38
- when :current then current_path
39
- when :latest then latest_release
40
- else raise ArgumentError, "unknown migration target #{migrate_target.inspect}"
41
- end
42
-
43
- run "cd #{directory} && RAILS_ENV=#{stage} bundle exec rake reference:load"
44
- end
45
-
46
49
  # By default, we deploy using passenger as an app server
47
50
  task :start do ; end
48
51
  task :stop do ; end
@@ -58,12 +61,5 @@ Capistrano::Configuration.instance(:must_exist).load do
58
61
  puts "Skipping copying of config/deploy/#{stage}/database.yml as the file is not present"
59
62
  end
60
63
  end
61
-
62
- desc "Allow deployment of a branch, commit or tag"
63
- task :set_branch do
64
- set :branch, ENV['tag'] || 'master'
65
- end
66
64
  end
67
-
68
- before 'deploy:update_code', 'deploy:set_branch' # allow specification of branch, tag or commit on the command line
69
65
  end
@@ -0,0 +1,19 @@
1
+ # To load this capistrano configuration, require 'easy/deployment/dbreference' from deploy.rb
2
+ Capistrano::Configuration.instance(:must_exist).load do
3
+ namespace :deploy do
4
+ desc "Load reference data"
5
+ task :reference_data, :roles => :db, :only => { :primary => true } do
6
+ migrate_target = fetch(:migrate_target, :latest)
7
+
8
+ directory = case migrate_target.to_sym
9
+ when :current then current_path
10
+ when :latest then latest_release
11
+ else raise ArgumentError, "unknown migration target #{migrate_target.inspect}"
12
+ end
13
+
14
+ run "cd #{directory} && RAILS_ENV=#{stage} bundle exec rake reference:load"
15
+ end
16
+ end
17
+
18
+ after 'deploy:migrate', 'deploy:reference_data'
19
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: easy-deployment
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2012-07-01 00:00:00.000000000 Z
15
+ date: 2012-07-09 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: rails
@@ -132,6 +132,7 @@ files:
132
132
  - lib/easy/deployment/apache.rb
133
133
  - lib/easy/deployment/backup.rb
134
134
  - lib/easy/deployment/capistrano.rb
135
+ - lib/easy/deployment/dbreference.rb
135
136
  - lib/easy/deployment/logrotate.rb
136
137
  - lib/easy/deployment/niet.rb
137
138
  - lib/easy/deployment/whenever.rb
@@ -157,7 +158,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
157
158
  version: '0'
158
159
  segments:
159
160
  - 0
160
- hash: 4265744311530263395
161
+ hash: -1446539074970372509
161
162
  required_rubygems_version: !ruby/object:Gem::Requirement
162
163
  none: false
163
164
  requirements:
@@ -166,7 +167,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
166
167
  version: '0'
167
168
  segments:
168
169
  - 0
169
- hash: 4265744311530263395
170
+ hash: -1446539074970372509
170
171
  requirements: []
171
172
  rubyforge_project:
172
173
  rubygems_version: 1.8.24