capistrano-central_git 0.1.2 → 0.1.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5c957726a60a9f32e444eab8158d843829f8c787
4
- data.tar.gz: bd2f1fc6ab26dad54e02933e613810992c22e5ad
3
+ metadata.gz: bf734cc53f51b64f8b70d337651ffea0d68c7398
4
+ data.tar.gz: dbbbb3d5279b341c0b52081a4dca6d3b461cdfbe
5
5
  SHA512:
6
- metadata.gz: cdfad88fdf99f6c908a2fcd50c5e562ab9560e57d5bc9ebafe03a4c7cae61da54e6f830703110f19406735ebfe93abcab91bc19f2ee21b8f51e3721b571808f6
7
- data.tar.gz: 559793fca2112f3e6e2bfebffdf0eb34d77645874c9be67042ff82eff3a50ebbce6d02b5a70be4951153eb887398f94e6a17abcdac12c8e4a800aa34bf946acd
6
+ metadata.gz: 59d366e5c420e2e5a67018a4b20ba4462bc09fc5727f9427949fa011d274fb69569e6e733de68f1775c580b25c14180160bd7e3d65cc6d22ca83090e10a391f2
7
+ data.tar.gz: c4b01e1aaed395ad9f3f39a353d4954ba7ff319746a60bf38eaff23ff48418077795195c25a9db3b7385058847df136690c1a9c4b260ecb8a6168a1f441ff025
data/README.md CHANGED
@@ -65,7 +65,8 @@ And make sure that:
65
65
  | rsync_options | -al | |
66
66
  | rsync_rsh | /usr/bin/ssh | |
67
67
  | max_parallels | number of hosts | |
68
- | keep_packages | 5 | |
68
+ | keep_central_packages | 5 | |
69
+ | keep_release_packages | 5 | |
69
70
 
70
71
  ## Contributing
71
72
 
@@ -52,8 +52,12 @@ module Capistrano::CentralGit
52
52
  @max_parallels ||= fetch(:max_parallels, hosts.size).to_i
53
53
  end
54
54
 
55
- def self.keep_packages
56
- @keep_packages ||= fetch(:keep_packages, 5).to_i
55
+ def self.keep_central_packages
56
+ @keep_central_packages ||= fetch(:keep_central_packages, 5).to_i
57
+ end
58
+
59
+ def self.keep_release_packages
60
+ @keep_release_packages ||= fetch(:keep_release_packages, 5).to_i
57
61
  end
58
62
  end
59
63
  end
@@ -79,15 +79,28 @@ module Capistrano::CentralGit
79
79
  execute :tar, "zxf", config.release_package_path, "-C", release_path
80
80
  end
81
81
 
82
- def cleanup_package
83
- packages = capture(:ls, '-xtr', config.central_packages_path).split
84
- keep_packages = config.keep_packages
82
+ def cleanup_central_packages
83
+ cleanup_packages(config.central_packages_path, config.keep_central_packages)
84
+ end
85
+
86
+ def cleanup_release_packages
87
+ cleanup_packages(config.release_packages_path, config.keep_release_packages)
88
+ end
89
+
90
+ def fetch_revision
91
+ capture(:git, "rev-list --max-count=1 --abbrev-commit #{fetch(:branch)}").strip
92
+ end
93
+
94
+ private
95
+
96
+ def cleanup_packages(packages_path, keep_packages)
97
+ packages = capture(:ls, '-xtr', packages_path).split
85
98
  if packages.count >= keep_packages
86
99
  info t(:keeping_packages, host: host.to_s, keep_packages: keep_packages, packages: packages.count)
87
- older_packages = (packages - packages.last(:keep_packages))
100
+ older_packages = (packages - packages.last(keep_packages))
88
101
  if older_packages.any?
89
102
  older_packages_str = older_packages.map do |package|
90
- config.central_packages_path.join(package)
103
+ packages_path.join(package)
91
104
  end.join(" ")
92
105
  execute :rm, '-rf', older_packages_str
93
106
  else
@@ -95,9 +108,5 @@ module Capistrano::CentralGit
95
108
  end
96
109
  end
97
110
  end
98
-
99
- def fetch_revision
100
- capture(:git, "rev-list --max-count=1 --abbrev-commit #{fetch(:branch)}").strip
101
- end
102
111
  end
103
112
  end
@@ -1,5 +1,5 @@
1
1
  module Capistrano
2
2
  module CentralGit
3
- VERSION = "0.1.2"
3
+ VERSION = "0.1.3"
4
4
  end
5
5
  end
@@ -112,13 +112,19 @@ namespace :central_git do
112
112
  end
113
113
 
114
114
  desc "Cleanup packages"
115
- task cleanup: :"deploy:cleanup" do
115
+ task :cleanup do
116
116
  run_central do
117
117
  within central_packages_path do
118
- central_git_scm.cleanup_packages
118
+ central_git_scm.cleanup_central_packages
119
+ end
120
+ end
121
+ on release_roles :all do |host|
122
+ within release_packages_path do
123
+ central_git_scm.cleanup_release_packages
119
124
  end
120
125
  end
121
126
  end
127
+ after :"deploy:cleanup", :cleanup
122
128
 
123
129
  desc "Show configurations"
124
130
  task :config do
@@ -138,7 +144,7 @@ namespace :central_git do
138
144
  rsync_options: config.rsync_options,
139
145
  rsync_rsh: config.rsync_rsh,
140
146
  max_parallels: config.max_parallels(hosts),
141
- keep_packages: config.keep_packages,
147
+ keep_central_packages: config.keep_central_packages,
142
148
  }
143
149
 
144
150
  max_key_length = pairs.keys.map { |k| k.to_s.length }.max
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capistrano-central_git
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Masato Ikeda
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-07-15 00:00:00.000000000 Z
11
+ date: 2015-07-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: capistrano