dg 0.6.8 → 0.6.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/dg +1 -0
- data/lib/dg/docker.rb +41 -1
- data/lib/dg/version.rb +1 -1
- metadata +3 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 572a4dc3be951d166de234fd2b39905a52b4798e
|
4
|
+
data.tar.gz: 7ca389522188b50219cd79ac4a064c0b594917cb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9f736a37b425aa75754410a254cee1afe4042641e34225bba3b82bde981f4681bc36e46b48976ac04d0f6c6617d69064b00eb63242036043ebe6552221a3b139
|
7
|
+
data.tar.gz: 2ca1c35c3123c35cfb528697d15f1417a13ced7c75669f15361d8006f2f437c224892e8bbe2c47d8382e6b2cb6eb37627f0de80223f0403f29049fd49c1357af
|
data/bin/dg
CHANGED
data/lib/dg/docker.rb
CHANGED
@@ -40,6 +40,22 @@ module DG
|
|
40
40
|
run_with_output("docker push #{latest_image_name}")
|
41
41
|
end
|
42
42
|
|
43
|
+
def deploy_check
|
44
|
+
required_envs = %w(GO_HOST GO_USER GO_PWD)
|
45
|
+
unless required_envs.reduce{ |acc, e| acc && ENV[e] }
|
46
|
+
error!(
|
47
|
+
RuntimeError.new("Environment variables {#{required_envs.join(', ')}} must be set"),
|
48
|
+
'checking if pipeline exists'
|
49
|
+
)
|
50
|
+
end
|
51
|
+
|
52
|
+
puts "Checking existance of pipeline docker-#{project_name}-{#{deploy_stages.join('|')}}"
|
53
|
+
|
54
|
+
deploy_stages.each do |deploy_stage|
|
55
|
+
pipeline_check(project_name, deploy_stage)
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
43
59
|
def deploy
|
44
60
|
required_envs = %w(GO_HOST GO_USER GO_PWD)
|
45
61
|
unless required_envs.reduce{ |acc, e| acc && ENV[e] }
|
@@ -64,7 +80,7 @@ module DG
|
|
64
80
|
`git symbolic-ref --short -q HEAD`.strip
|
65
81
|
|
66
82
|
run_with_output(
|
67
|
-
%(docker run --entrypoint=ruby -e GIT_BRANCH
|
83
|
+
%(docker run --entrypoint=ruby -e GIT_BRANCH=#{branch} #{git_image_name} /u/app/deploy-to.rb), capture = true
|
68
84
|
).strip.split(',')
|
69
85
|
end
|
70
86
|
end
|
@@ -208,6 +224,30 @@ module DG
|
|
208
224
|
puts "docker run -it --entrypoint=/bin/bash #{git_image_name}"
|
209
225
|
end
|
210
226
|
|
227
|
+
def pipeline_check(project_name, deploy_stage)
|
228
|
+
pipeline_name = "docker-#{project_name}-#{deploy_stage}"
|
229
|
+
uri = URI("https://#{ENV['GO_HOST']}/go/api/pipelines/#{pipeline_name}/status")
|
230
|
+
request = Net::HTTP::Get.new(uri.path)
|
231
|
+
request.basic_auth ENV['GO_USER'], ENV['GO_PWD']
|
232
|
+
|
233
|
+
response = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http|
|
234
|
+
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
235
|
+
http.ssl_version = :SSLv3
|
236
|
+
http.request(request)
|
237
|
+
end
|
238
|
+
|
239
|
+
if response.code.to_i == 200
|
240
|
+
puts "Pipeline [#{pipeline_name}] exists"
|
241
|
+
else
|
242
|
+
error!(
|
243
|
+
RuntimeError.new(
|
244
|
+
"response code was #{response.code}: #{response.body.strip}"
|
245
|
+
),
|
246
|
+
"checking pipeline status for [#{pipeline_name}]"
|
247
|
+
)
|
248
|
+
end
|
249
|
+
end
|
250
|
+
|
211
251
|
def schedule_pipeline(project_name, deploy_stage, image_id)
|
212
252
|
pipeline_name = "docker-#{project_name}-#{deploy_stage}"
|
213
253
|
puts "Triggering pipeline: #{pipeline_name} on #{ENV['GO_HOST']}"
|
data/lib/dg/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dg
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Malet
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-02-17 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: |
|
14
14
|
DockerGo (DG)
|
@@ -56,9 +56,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
56
56
|
version: '0'
|
57
57
|
requirements: []
|
58
58
|
rubyforge_project:
|
59
|
-
rubygems_version: 2.
|
59
|
+
rubygems_version: 2.4.6
|
60
60
|
signing_key:
|
61
61
|
specification_version: 4
|
62
62
|
summary: Provides integration between Docker and GoCD.
|
63
63
|
test_files: []
|
64
|
-
has_rdoc:
|