dply 0.1.9 → 0.1.10

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 65bf4e5272b3c64dfeb0094ab9129ed83bb75979
4
- data.tar.gz: 3864b9d7e108ca4e0ab479e6f5f7f4ae65a98799
3
+ metadata.gz: 2556e2cc9d2a9056678f4f9991bc8c64918e5fcb
4
+ data.tar.gz: 16e5a384944a3d8b995ba58d8044941855de37db
5
5
  SHA512:
6
- metadata.gz: b7a82d15260f094fbcf7794ad59cd7144943f5d6e0fff6111cc353e2ab9ca27d1c045c595a3b2f93ce41756cce2c849b6fee1f0d6c28ca140fcbdbe667aeb706
7
- data.tar.gz: f4d927b29fa7b31e35e94095690e339938f9865e6254eee256b352db8985df3ac5ce7434324b4445e500cece8644d623b3b682a1132d59d150538d6ca3334aaf
6
+ metadata.gz: 1d8c12ef9b14306e52074af147e573e46f5038ce9537499bda4c217a7eafca7ce03faa10a78020aaa3efe0655cd5c02ac074a258bfcdd2f9c6662a5220a1d577
7
+ data.tar.gz: 1fbf31a8871bbed1307ddd9bb37ead697a6445b5e47e5fe8ca7e8da44b9809df5b1ad87c1690c45d23a0efc8abf45c1b5bf4fadb7ca95f6d0b609dc17985b76d
data/lib/dply/archive.rb CHANGED
@@ -72,7 +72,7 @@ module Dply
72
72
  def download(url, outfile)
73
73
  logger.bullet "downloading #{url} to #{outfile}"
74
74
  http_status = `curl -w "%{http_code}" -f -s -o '#{outfile}' '#{url}' `
75
- exit_status = $?.existstatus
75
+ exit_status = $?.exitstatus
76
76
  if (http_status != "200" || exit_status != 0)
77
77
  error "failed to download #{outfile}, http status #{http_status}, exit_status #{exit_status}"
78
78
  end
@@ -1,5 +1,5 @@
1
1
  require 'dply/logger'
2
- require 'dply/release'
2
+ require 'dply/release_helper'
3
3
  require 'dply/config'
4
4
 
5
5
  module Dply
@@ -29,7 +29,7 @@ module Dply
29
29
  else
30
30
  name = "NA"
31
31
  end
32
- Release.parse name
32
+ release_helper.parse name
33
33
  end
34
34
  end
35
35
 
@@ -37,6 +37,10 @@ module Dply
37
37
  @current_dir ||= "current"
38
38
  end
39
39
 
40
+ def release_helper
41
+ @release_helper ||= ReleaseHelper.new
42
+ end
43
+
40
44
  end
41
45
  end
42
46
  end
data/lib/dply/release.rb CHANGED
@@ -25,18 +25,6 @@ module Dply
25
25
  latest ? File.basename(latest) : nil
26
26
  end
27
27
 
28
- def self.parse(name)
29
- arr = name.split("-")
30
- deployed = File.exist? "releases/#{name}/.deployed"
31
- release = {
32
- revision: arr[0] || "NA",
33
- project: arr[1] || "NA",
34
- branch: arr[2] || "NA",
35
- timestamp: arr[3] || "NA",
36
- deployed: deployed
37
- }
38
- end
39
-
40
28
  def initialize(revision, app_name: nil, branch: nil, url: nil)
41
29
  @revision = revision
42
30
  @branch = branch
@@ -0,0 +1,38 @@
1
+ require 'dply/logger'
2
+ module Dply
3
+ class ReleaseHelper
4
+
5
+ include Logger
6
+
7
+ def current_release_dir
8
+ current_dir = "current"
9
+ return if not File.symlink? current_dir
10
+ name = File.basename (File.readlink current_dir)
11
+ "releases/#{name}"
12
+ end
13
+
14
+ def prune_releases(keep: 5)
15
+ all_releases.reject! { |x| x == current_release_dir}[keep..-1].each do |d|
16
+ logger.info "deleting old release #{File.basename d}"
17
+ FileUtils.rm_rf d
18
+ end
19
+ end
20
+
21
+ def all_releases
22
+ Dir["releases/*"].sort! { |x, y| File.mtime(y) <=> File.mtime(x) }
23
+ end
24
+
25
+ def parse(name)
26
+ arr = name.split("-")
27
+ deployed = File.exist? "releases/#{name}/.deployed"
28
+ release = {
29
+ revision: arr[0] || "NA",
30
+ project: arr[1] || "NA",
31
+ branch: arr[2] || "NA",
32
+ timestamp: arr[3] || "NA",
33
+ deployed: deployed
34
+ }
35
+ end
36
+
37
+ end
38
+ end
@@ -4,6 +4,7 @@ require 'dply/setup'
4
4
  require 'dply/config_downloader'
5
5
  require 'dply/yum'
6
6
  require 'dply/release'
7
+ require 'dply/release_helper'
7
8
  require 'forwardable'
8
9
 
9
10
 
@@ -30,6 +31,7 @@ module Dply
30
31
  if release.already_deployed? && release.current?
31
32
  logger.info "revision #{revision} is currently deployed"
32
33
  current_version = previous_version = get_release
34
+ prune_releases
33
35
  tasks.report_changes(current_version, previous_version)
34
36
  return
35
37
  end
@@ -42,6 +44,7 @@ module Dply
42
44
  end
43
45
  release.record_deployment
44
46
  current_version = get_release
47
+ prune_releases
45
48
  tasks.report_changes(previous_version, current_version)
46
49
  end
47
50
 
@@ -118,6 +121,10 @@ module Dply
118
121
  @tasks ||= Tasks.new(deployment: true)
119
122
  end
120
123
 
124
+ def prune_releases
125
+ ReleaseHelper.new.prune_releases
126
+ end
127
+
121
128
  end
122
129
  end
123
130
  end
data/lib/dply/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Dply
2
- VERSION = "0.1.9"
2
+ VERSION = "0.1.10"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dply
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9
4
+ version: 0.1.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Neeraj
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-16 00:00:00.000000000 Z
11
+ date: 2015-03-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ruby-elf
@@ -118,6 +118,7 @@ files:
118
118
  - lib/dply/logger.rb
119
119
  - lib/dply/pkgs_config.rb
120
120
  - lib/dply/release.rb
121
+ - lib/dply/release_helper.rb
121
122
  - lib/dply/repo.rb
122
123
  - lib/dply/rpm.rb
123
124
  - lib/dply/setup.rb