cap-git-tags 0.1.1 → 0.1.2
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.
- checksums.yaml +4 -4
- data/changelog.md +13 -0
- data/lib/cap-git-tags/tasks/git_tags.rake +48 -45
- data/lib/cap-git-tags/version.rb +1 -1
- metadata +10 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5d7d76ebe01d406cd1fbe759d1ffa1ccccf090de
|
4
|
+
data.tar.gz: 072f87a32fb08c248e48cfd1171d8b85df153ce2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6d1b3b7c573f659e64ee4fb5da826f91dfc4b4ae505674524652ffa4a5064f6e1d951578769c0c9f69f4023e4066c5179b3e4e6aa125176045508bb523866329
|
7
|
+
data.tar.gz: 5e43823eb2422f36b350e81661568e004232ead9f4fbc48caa7864f7eada9d9cb6ec4c1ed654e06af04d3aa5655d1cf49fe85a74c9919a43a365786d52ccfbc7
|
data/changelog.md
ADDED
@@ -1,52 +1,55 @@
|
|
1
|
-
namespace :
|
2
|
-
|
3
|
-
task :create_tag do
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
if
|
10
|
-
|
1
|
+
namespace :gittags do
|
2
|
+
|
3
|
+
task :create_tag do |t, args|
|
4
|
+
# Don't run any of this for rollbacks etc
|
5
|
+
if fetch(:deploying)
|
6
|
+
run_locally do
|
7
|
+
current_stage = fetch(:stage)
|
8
|
+
|
9
|
+
if current_stage == :production
|
10
|
+
# Production deploys use the latest staging tag or passed in ENV['TAG']
|
11
|
+
if ENV['TAG']
|
12
|
+
latest_staging_tag = production_tag = ENV['TAG']
|
13
|
+
else
|
14
|
+
latest_staging_tag = `git describe --match "staging*" --abbrev=4 HEAD`.chomp
|
15
|
+
production_tag = latest_staging_tag.sub(/^staging/, "production")
|
16
|
+
end
|
17
|
+
|
18
|
+
info "You are about to deploy: #{latest_staging_tag} to production"
|
19
|
+
ask :yes_to_confirm_deploy, "n"
|
20
|
+
|
21
|
+
if fetch(:yes_to_confirm_deploy)[0].downcase != "y"
|
22
|
+
abort "You didn't confirm the deployment"
|
23
|
+
end
|
24
|
+
|
25
|
+
unless ENV['TAG']
|
26
|
+
info "Publishing tag: #{production_tag}"
|
27
|
+
CapGitTags::Helper.publish_tag production_tag
|
28
|
+
end
|
29
|
+
|
30
|
+
set :branch, production_tag
|
31
|
+
elsif current_stage == :staging
|
32
|
+
# Staging deploys create a new tag based on user input
|
33
|
+
time = Time.new
|
34
|
+
|
35
|
+
ask :a_description_of_what_you_are_deploying, "latest changes"
|
36
|
+
|
37
|
+
safe_tag = fetch(:a_description_of_what_you_are_deploying).downcase.gsub(/[^a-z0-9]/, "-")
|
38
|
+
staging_tag = "staging-#{time.year}-#{time.month}-#{time.day}-#{time.hour}-#{time.min}-#{safe_tag}"
|
39
|
+
|
40
|
+
info "Publishing tag: #{staging_tag}"
|
41
|
+
CapGitTags::Helper.publish_tag staging_tag
|
42
|
+
|
43
|
+
info "Deploying: #{staging_tag} to staging"
|
44
|
+
set :branch, staging_tag
|
11
45
|
else
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
info "You are about to deploy: #{latest_staging_tag} to production"
|
17
|
-
ask :yes_to_confirm_deploy, "n"
|
18
|
-
|
19
|
-
if fetch(:yes_to_confirm_deploy)[0].downcase != "y"
|
20
|
-
abort "You didn't confirm the deployment"
|
21
|
-
end
|
22
|
-
|
23
|
-
unless ENV['TAG']
|
24
|
-
info "Publishing tag: #{production_tag}"
|
25
|
-
CapGitTags::Helper.publish_tag production_tag
|
46
|
+
# dev environments allow any branch to be pushed and don't create a tag
|
47
|
+
info "About to deploy your current branch, enter a different branch name to override"
|
48
|
+
ask :branch, proc { CapGitTags::Helper.current_branch }
|
26
49
|
end
|
27
|
-
|
28
|
-
set :branch, production_tag
|
29
|
-
elsif current_stage == :staging
|
30
|
-
# Staging deploys create a new tag based on user input
|
31
|
-
time = Time.new
|
32
|
-
|
33
|
-
ask :a_description_of_what_you_are_deploying, "latest changes"
|
34
|
-
|
35
|
-
safe_tag = fetch(:a_description_of_what_you_are_deploying).downcase.gsub(/[^a-z0-9]/, "-")
|
36
|
-
staging_tag = "staging-#{time.year}-#{time.month}-#{time.day}-#{time.hour}-#{time.min}-#{safe_tag}"
|
37
|
-
|
38
|
-
info "Publishing tag: #{staging_tag}"
|
39
|
-
CapGitTags::Helper.publish_tag staging_tag
|
40
|
-
|
41
|
-
info "Deploying: #{staging_tag} to staging"
|
42
|
-
set :branch, staging_tag
|
43
|
-
else
|
44
|
-
# dev environments allow any branch to be pushed and don't create a tag
|
45
|
-
info "About to deploy your current branch, enter a different branch name to override"
|
46
|
-
ask :branch, proc { CapGitTags::Helper.current_branch }
|
47
50
|
end
|
48
51
|
end
|
49
52
|
end
|
50
53
|
|
51
|
-
before :
|
54
|
+
before 'deploy:starting', 'gittags:create_tag'
|
52
55
|
end
|
data/lib/cap-git-tags/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cap-git-tags
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pete Hawkins
|
@@ -15,28 +15,28 @@ dependencies:
|
|
15
15
|
name: bundler
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
|
-
- - ~>
|
18
|
+
- - "~>"
|
19
19
|
- !ruby/object:Gem::Version
|
20
20
|
version: '1.3'
|
21
21
|
type: :development
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
|
-
- - ~>
|
25
|
+
- - "~>"
|
26
26
|
- !ruby/object:Gem::Version
|
27
27
|
version: '1.3'
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: rake
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
|
-
- -
|
32
|
+
- - ">="
|
33
33
|
- !ruby/object:Gem::Version
|
34
34
|
version: '0'
|
35
35
|
type: :development
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
|
-
- -
|
39
|
+
- - ">="
|
40
40
|
- !ruby/object:Gem::Version
|
41
41
|
version: '0'
|
42
42
|
description: This is a capistrano 3 plugin for auto tagging your git deploys.
|
@@ -47,12 +47,13 @@ executables: []
|
|
47
47
|
extensions: []
|
48
48
|
extra_rdoc_files: []
|
49
49
|
files:
|
50
|
-
- .gitignore
|
50
|
+
- ".gitignore"
|
51
51
|
- Gemfile
|
52
52
|
- LICENSE.txt
|
53
53
|
- README.md
|
54
54
|
- Rakefile
|
55
55
|
- cap-git-tags.gemspec
|
56
|
+
- changelog.md
|
56
57
|
- lib/cap-git-tags.rb
|
57
58
|
- lib/cap-git-tags/tasks/git_tags.rake
|
58
59
|
- lib/cap-git-tags/version.rb
|
@@ -66,17 +67,17 @@ require_paths:
|
|
66
67
|
- lib
|
67
68
|
required_ruby_version: !ruby/object:Gem::Requirement
|
68
69
|
requirements:
|
69
|
-
- -
|
70
|
+
- - ">="
|
70
71
|
- !ruby/object:Gem::Version
|
71
72
|
version: '0'
|
72
73
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
73
74
|
requirements:
|
74
|
-
- -
|
75
|
+
- - ">="
|
75
76
|
- !ruby/object:Gem::Version
|
76
77
|
version: '0'
|
77
78
|
requirements: []
|
78
79
|
rubyforge_project:
|
79
|
-
rubygems_version: 2.
|
80
|
+
rubygems_version: 2.2.2
|
80
81
|
signing_key:
|
81
82
|
specification_version: 4
|
82
83
|
summary: Auto tags staging and production deploys for git projects
|