dctl_rb 0.4.1 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/exe/dctl +6 -0
- data/lib/dctl/main.rb +28 -4
- data/lib/dctl/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 28105f390bb987564e1c3be9127f5fd61df209ec25f0f3d01240e34b12498f45
|
4
|
+
data.tar.gz: ce077043133ac33822b72566d03712dcedbafe04d260c27c2689902103d0ce66
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b5f4ac8ef97c97adeafd44f7418d71bb76b4b74c4851d0070fcb12286ad70dd5e4d8106487b2f69912196bc19df12d1908b6ec628c1ef7643cb48ce4096d06f9
|
7
|
+
data.tar.gz: 149ef827992123bafeb61a254996075de96409edda83c80b461645d771cb1df188f5407a89d27c6d336731fe2c936c3df22dd1644c2476b582b3d25300720ce0
|
data/Gemfile.lock
CHANGED
data/exe/dctl
CHANGED
@@ -125,6 +125,12 @@ module Dctl
|
|
125
125
|
stream_output "#{sudo}docker-compose -f #{dctl.compose_file_path} ps", exec: true
|
126
126
|
end
|
127
127
|
|
128
|
+
desc "release IMAGE", "Increase the version number for the given image"
|
129
|
+
def release(image)
|
130
|
+
dctl = Dctl::Main.new env: options[:env]
|
131
|
+
dctl.release(image)
|
132
|
+
end
|
133
|
+
|
128
134
|
desc "initdb", "Setup initial postgres database"
|
129
135
|
def initdb
|
130
136
|
dctl = Dctl::Main.new env: options[:env]
|
data/lib/dctl/main.rb
CHANGED
@@ -13,10 +13,9 @@ module Dctl
|
|
13
13
|
#
|
14
14
|
# @example
|
15
15
|
# image_tag("app") # => jutonz/dctl-dev-app:1
|
16
|
-
def image_tag(image)
|
16
|
+
def image_tag(image, version: versions[image])
|
17
17
|
org = settings.org
|
18
18
|
project = settings.project
|
19
|
-
version = versions[image] || 1
|
20
19
|
|
21
20
|
"#{org}/#{project}-#{env}-#{image}:#{version}"
|
22
21
|
end
|
@@ -38,11 +37,36 @@ module Dctl
|
|
38
37
|
images = versions.keys if images.empty?
|
39
38
|
images = Array(images)
|
40
39
|
|
41
|
-
images.each { |
|
40
|
+
images.each { |image| check_image(image) }
|
42
41
|
|
43
42
|
images
|
44
43
|
end
|
45
44
|
|
45
|
+
def release(image)
|
46
|
+
check_image(image)
|
47
|
+
|
48
|
+
parsed = parsed_compose_file
|
49
|
+
service = parsed.dig "services", image
|
50
|
+
old_tag = service["image"]
|
51
|
+
puts "Found existing image #{old_tag}"
|
52
|
+
|
53
|
+
version = versions[image].to_i
|
54
|
+
new_tag = image_tag image, version: version + 1
|
55
|
+
puts "New tag will be #{new_tag}"
|
56
|
+
|
57
|
+
service["image"] = new_tag
|
58
|
+
|
59
|
+
print "Updating..."
|
60
|
+
File.write(compose_file_path, parsed.to_yaml)
|
61
|
+
puts "done"
|
62
|
+
|
63
|
+
# Cache bust
|
64
|
+
@parsed_compose_file = nil
|
65
|
+
@versions = nil
|
66
|
+
|
67
|
+
puts Rainbow("#{image} is now at version #{version + 1}").fg :green
|
68
|
+
end
|
69
|
+
|
46
70
|
##
|
47
71
|
# Returns the path to the .dctl.yml file for the current project
|
48
72
|
def config_path
|
@@ -66,7 +90,7 @@ module Dctl
|
|
66
90
|
# service tag is not present
|
67
91
|
#
|
68
92
|
# Expected names look like org/project-env-image:version
|
69
|
-
def
|
93
|
+
def check_image(image)
|
70
94
|
tag = image_tag(image)
|
71
95
|
|
72
96
|
# Check that a service exists for the image
|
data/lib/dctl/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dctl_rb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Justin Toniazzo
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-11-
|
11
|
+
date: 2017-11-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|