docker_task 0.1.2 → 0.1.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/docker_task/task.rb +24 -5
- data/lib/docker_task/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a729074b69c87fda93bd2e17f318b05489e562ff
|
4
|
+
data.tar.gz: 43873b1e3503531e5bc20fa2d9373591330e73ac
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 640610b2f3218226aab2bf6b1f8dedc6bed1e8939b3518ae945669bdf3bd891a8e58a3b1f295280be711ab90783756341525dadb1b2fde033ce61d0b2d978727
|
7
|
+
data.tar.gz: f1a0159342a7f0e64f7a2763752105ebc863db1edf949e2cbd47d871ea4a2e27d2a46284fe90032d5ec99d533505d4aac2a8b825e02d10706b40a09dc474ae77
|
data/lib/docker_task/task.rb
CHANGED
@@ -9,6 +9,7 @@ module DockerTask
|
|
9
9
|
}
|
10
10
|
|
11
11
|
DOCKER_CMD = 'docker'
|
12
|
+
GCLOUD_DOCKER_CMD = 'gcloud docker'
|
12
13
|
|
13
14
|
attr_reader :options
|
14
15
|
|
@@ -136,7 +137,7 @@ module DockerTask
|
|
136
137
|
fail "Mirror %s not found" % mk
|
137
138
|
end
|
138
139
|
else
|
139
|
-
push_repo =
|
140
|
+
push_repo = repo_with_registry(@options[:push_repo], @options[:registry])
|
140
141
|
end
|
141
142
|
|
142
143
|
docker_do 'tag %s %s' % [ @options[:image_name], push_repo ]
|
@@ -149,7 +150,7 @@ module DockerTask
|
|
149
150
|
desc 'Pull from registry based on push_repo options'
|
150
151
|
task :pull do
|
151
152
|
if @options[:push_repo]
|
152
|
-
pull_repo =
|
153
|
+
pull_repo = repo_with_registry(@options[:push_repo], @options[:registry])
|
153
154
|
|
154
155
|
docker_do 'pull %s' % pull_repo
|
155
156
|
docker_do 'tag %s %s' % [ pull_repo, @options[:image_name] ]
|
@@ -161,7 +162,7 @@ module DockerTask
|
|
161
162
|
desc 'Re-tag a local copy from latest remote (will not pull)'
|
162
163
|
task :retag do
|
163
164
|
if @options[:push_repo]
|
164
|
-
pull_repo =
|
165
|
+
pull_repo = repo_with_registry(@options[:push_repo], @options[:registry])
|
165
166
|
docker_do 'tag %s %s' % [ pull_repo, @options[:image_name] ]
|
166
167
|
else
|
167
168
|
puts 'Please specify a push_repo for this docker context'
|
@@ -175,19 +176,37 @@ module DockerTask
|
|
175
176
|
end
|
176
177
|
|
177
178
|
desc 'Stop and remove container'
|
178
|
-
task
|
179
|
+
task :remove do
|
179
180
|
docker_do 'kill %s' % container_name, :ignore_fail => true
|
180
181
|
docker_do 'rm %s' % container_name, :ignore_fail => true
|
181
182
|
end
|
182
183
|
end
|
183
184
|
end
|
184
185
|
|
186
|
+
def repo_with_registry(repo_name, registry = nil)
|
187
|
+
if registry.nil?
|
188
|
+
repo_name
|
189
|
+
else
|
190
|
+
'%s/%s' % [ registry, repo_name ]
|
191
|
+
end
|
192
|
+
end
|
193
|
+
|
194
|
+
def docker_cmd(registry = nil)
|
195
|
+
if registry.nil?
|
196
|
+
DOCKER_CMD
|
197
|
+
elsif registry =~ /\.grc\.io/
|
198
|
+
GCLOUD_DOCKER_CMD
|
199
|
+
else
|
200
|
+
DOCKER_CMD
|
201
|
+
end
|
202
|
+
end
|
203
|
+
|
185
204
|
def docker_do(cmd, opts = { })
|
186
205
|
if opts[:ignore_fail]
|
187
206
|
cmd += '; true'
|
188
207
|
end
|
189
208
|
|
190
|
-
sh '%s %s' % [
|
209
|
+
sh '%s %s' % [ docker_cmd, cmd ]
|
191
210
|
end
|
192
211
|
|
193
212
|
def invoke_task(tname)
|
data/lib/docker_task/version.rb
CHANGED