codebase4 1.0.16 → 1.0.17

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.
Files changed (2) hide show
  1. data/lib/codebase/capistrano3.rb +50 -0
  2. metadata +12 -5
@@ -0,0 +1,50 @@
1
+ namespace :codebase do
2
+
3
+ desc "Logs the deployment of your Codebase repository"
4
+ task :log_deployment do
5
+ repository = fetch(:repo_url)
6
+ previous_revision = fetch(:previous_revision)
7
+ current_revision = fetch(:current_revision)
8
+ environment = fetch(:stage)
9
+ branch = fetch(:branch)
10
+ roles = roles(:all)
11
+ servers = roles.map{|r| r.hostname }
12
+
13
+ if previous_revision == current_revision
14
+ puts "\e[31m The old revision & new revision are the same - you didn't deploy anything new. Skipping logging.\e[0m"
15
+ next
16
+ end
17
+
18
+ cmd = ["cb deploy #{previous_revision or "0000000000000000000000000000000000000000"} #{current_revision}"]
19
+
20
+ cmd << "-s #{servers.uniq.join(',') rescue ''}"
21
+ cmd << "-b #{branch}"
22
+ cmd << "-e #{environment}"
23
+
24
+ ## get the repo and project name etc...
25
+ account, project, repo = nil, nil, nil
26
+ case repository
27
+ when /git\@codebasehq.com\:(.+)\/(.+)\/(.+)\.git\z/
28
+ account, project, repo = $1, $2, $3
29
+ when /ssh:\/\/.+\@codebasehq.com\/(.+)\/(.+)\/(.+)\.hg\z/
30
+ account, project, repo = $1, $2, $3
31
+ when /https?:\/\/.+\@(.+)\.codebasehq.com\/(.+)\/(.+)\.(?:hg|svn)\z/
32
+ account, project, repo = $1, $2, $3
33
+ when /https?:\/\/(?:.+\@)?(.+)\.svn\.codebasehq.com\/(.+?)\/(.+?)(?:\/.*)\z/
34
+ account, project, repo = $1, $2, $3
35
+ else
36
+ puts "! Repository path not supported by deployment logging"
37
+ next
38
+ end
39
+
40
+ cmd << "-r #{project}:#{repo}"
41
+ cmd << "-h #{account}.codebasehq.com"
42
+ cmd << "--protocol https"
43
+
44
+ puts " running: #{cmd.join(' ')}"
45
+ system(cmd.join(' ') + "; true")
46
+ end
47
+
48
+ after 'deploy:finished', 'codebase:log_deployment'
49
+
50
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: codebase4
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.16
4
+ version: 1.0.17
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-10 00:00:00.000000000Z
12
+ date: 2014-07-31 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: json
16
- requirement: &70358771682200 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,7 +21,12 @@ dependencies:
21
21
  version: 1.1.5
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70358771682200
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: 1.1.5
25
30
  description:
26
31
  email: adam@atechmedia.com
27
32
  executables:
@@ -32,6 +37,7 @@ extra_rdoc_files: []
32
37
  files:
33
38
  - bin/cb
34
39
  - bin/codebase
40
+ - lib/codebase/capistrano3.rb
35
41
  - lib/codebase/cli.rb
36
42
  - lib/codebase/config.rb
37
43
  - lib/codebase/recipes.rb
@@ -56,9 +62,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
56
62
  version: '0'
57
63
  requirements: []
58
64
  rubyforge_project:
59
- rubygems_version: 1.8.10
65
+ rubygems_version: 1.8.23.2
60
66
  signing_key:
61
67
  specification_version: 3
62
68
  summary: The RubyGem for Codebase v4 Deployment Tracking (replaces previous codebase
63
69
  gems)
64
70
  test_files: []
71
+ has_rdoc: false