Class: Dply::ReleaseHelper
- Inherits:
-
Object
- Object
- Dply::ReleaseHelper
show all
- Includes:
- Logger
- Defined in:
- lib/dply/release_helper.rb
Instance Method Summary
collapse
Methods included from Logger
#debug?, #logger, stderr, #stderr
Instance Method Details
#all_releases ⇒ Object
25
26
27
|
# File 'lib/dply/release_helper.rb', line 25
def all_releases
Dir["releases/*"].sort! { |x, y| File.mtime(y) <=> File.mtime(x) }
end
|
#current_release_dir ⇒ Object
7
8
9
10
11
12
|
# File 'lib/dply/release_helper.rb', line 7
def current_release_dir
current_dir = "current"
return if not File.symlink? current_dir
name = File.basename (File.readlink current_dir)
"releases/#{name}"
end
|
#parse(name) ⇒ Object
29
30
31
32
33
34
35
36
37
38
39
|
# File 'lib/dply/release_helper.rb', line 29
def parse(name)
arr = name.split("-")
deployed = File.exist? "releases/#{name}/.deployed"
release = {
revision: arr[0] || "NA",
project: arr[1] || "NA",
branch: arr[2] || "NA",
timestamp: arr[3] || "NA",
deployed: deployed
}
end
|
#prune_releases(keep: 5) ⇒ Object
14
15
16
17
18
19
20
21
22
23
|
# File 'lib/dply/release_helper.rb', line 14
def prune_releases(keep: 5)
releases = all_releases
releases.reject! { |x| x == current_release_dir }
old_releases = releases[keep..-1]
return if not old_releases
old_releases.each do |d|
logger.info "deleting old release #{File.basename d}"
FileUtils.rm_rf d
end
end
|