capistrano-deploytags 0.6.1 → 0.7.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.
Files changed (3) hide show
  1. data/README.md +14 -1
  2. data/lib/capistrano/deploy_tags.rb +12 -10
  3. metadata +6 -6
data/README.md CHANGED
@@ -46,10 +46,23 @@ clean checkout anyway, so in most cases this is not a restriction
46
46
  on how you already do things. The plugin will check if your code
47
47
  is clean and complain if it is not.
48
48
 
49
+ Helpful Git Config
50
+ ------------------
51
+ You might find it useful to add this to your ~/.gitconfig in order
52
+ to get a nice history view of the commits and tags.
53
+
54
+ ```
55
+ [alias]
56
+ lol = log --pretty=oneline --abbrev-commit --graph --decorate
57
+ ```
58
+
59
+ You can then view the list by typing `git lol` from the checked out
60
+ code path.
61
+
49
62
  Credits
50
63
  -------
51
64
  This software was written by [Karl Matthias](https://github.com/relistan)
52
- with help from [Gavin Heavyside](https://github.com/hgavin) and the
65
+ with help from [Gavin Heavyside](https://github.com/gavinheavyside) and the
53
66
  support of [MyDrive Solutions Limited](http://mydrivesolutions.com).
54
67
 
55
68
  License
@@ -4,19 +4,19 @@ module Capistrano
4
4
  # Do we have any changes vs HEAD on deployment branch?
5
5
  !(`git fetch && git diff #{branch} --shortstat`.strip.empty?)
6
6
  end
7
-
7
+
8
8
  def git_tag_for(stage)
9
9
  "#{stage}-#{Time.now.strftime("%Y.%m.%d-%H%M%S")}"
10
10
  end
11
-
11
+
12
12
  def safe_run(*args)
13
13
  raise "#{args.join(" ")} failed!" unless system(*args)
14
14
  end
15
-
15
+
16
16
  def validate_git_vars
17
17
  unless exists?(:branch) && exists?(:stage)
18
18
  logger.log Capistrano::Logger::IMPORTANT, "Capistrano Deploytags requires that :branch and :stage be defined."
19
- raise 'define :branch or :stage'
19
+ raise 'define :branch and :stage'
20
20
  end
21
21
  end
22
22
 
@@ -30,8 +30,10 @@ module Capistrano
30
30
 
31
31
  def self.load_into(configuration)
32
32
  configuration.load do
33
- before :deploy, 'git:prepare_tree'
34
- after :deploy, 'git:tagdeploy'
33
+ before "deploy", 'git:prepare_tree'
34
+ before "deploy:migrations", 'git:prepare_tree'
35
+ after "deploy", 'git:tagdeploy'
36
+ after "deploy:migrations", 'git:tagdeploy'
35
37
 
36
38
  desc 'prepare git tree so we can tag on successful deployment'
37
39
  namespace :git do
@@ -39,7 +41,7 @@ module Capistrano
39
41
  cdt.validate_git_vars
40
42
 
41
43
  logger.log Capistrano::Logger::IMPORTANT, "Preparing to deploy HEAD from branch '#{branch}' to '#{stage}'"
42
-
44
+
43
45
  if cdt.pending_git_changes?
44
46
  logger.log Capistrano::Logger::IMPORTANT, "Whoa there, partner. Dirty trees can't deploy. Git yerself clean first."
45
47
  raise 'Dirty git tree'
@@ -48,17 +50,17 @@ module Capistrano
48
50
  cdt.safe_run "git", "checkout", branch
49
51
  cdt.safe_run "git", "pull", "origin", branch if cdt.has_remote?
50
52
  end
51
-
53
+
52
54
  desc 'add git tags for each successful deployment'
53
55
  task :tagdeploy, :except => { :no_release => true } do
54
56
  cdt.validate_git_vars
55
57
 
56
58
  current_sha = `git rev-parse #{branch} HEAD`.strip[0..8]
57
59
  logger.log Capistrano::Logger::INFO, "Tagging #{current_sha} for deployment"
58
-
60
+
59
61
  tag_user = (ENV['USER'] || ENV['USERNAME']).strip
60
62
  cdt.safe_run "git", "tag", "-a", cdt.git_tag_for(stage), "-m", "#{tag_user} deployed #{current_sha} to #{stage}"
61
-
63
+
62
64
  cdt.safe_run "git", "push", "--tags" if cdt.has_remote?
63
65
  end
64
66
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capistrano-deploytags
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.7.0
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-05-30 00:00:00.000000000 Z
12
+ date: 2012-10-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: capistrano
16
- requirement: &2152593160 !ruby/object:Gem::Requirement
16
+ requirement: &2153587100 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *2152593160
24
+ version_requirements: *2153587100
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: capistrano-ext
27
- requirement: &2152608620 !ruby/object:Gem::Requirement
27
+ requirement: &2153586660 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,7 +32,7 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *2152608620
35
+ version_requirements: *2153586660
36
36
  description: ! ' Capistrano Deploytags is a simple plugin to Capistrano that works
37
37
  with your deployment framework to track your code releases. All you have to do is
38
38
  require capistrano-deploytags and each deployment will add a new tag for that deployment,