dply 0.1.9 → 0.1.10

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: 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