dctl_rb 0.4.1 → 0.5.0
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 +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
|