dg 0.6.8 → 0.6.9
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/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:
|