dg 0.6.8 → 0.6.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/bin/dg +1 -0
  3. data/lib/dg/docker.rb +41 -1
  4. data/lib/dg/version.rb +1 -1
  5. metadata +3 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0b35cc050a3013187d37730d398231ba90ce15e9
4
- data.tar.gz: 92e6106028643b774fb3e549c371efca59f206da
3
+ metadata.gz: 572a4dc3be951d166de234fd2b39905a52b4798e
4
+ data.tar.gz: 7ca389522188b50219cd79ac4a064c0b594917cb
5
5
  SHA512:
6
- metadata.gz: 7d6d51adb37e51cdab5ec6b23e091afdec0612c21e4c8aac316e47d85b0830083c386316bb68f42105164dc4add167efdc5d19560d06c12de92ebcc8b6ef9ac2
7
- data.tar.gz: 387d36794cde4159a9763f29f5ec8b5d753e4017afa54be74319676f0853aa5237f4f390ddd13c06d331ffc4dc95aad3d1a2e6371f9d4a9eb6e36bd08138b42e
6
+ metadata.gz: 9f736a37b425aa75754410a254cee1afe4042641e34225bba3b82bde981f4681bc36e46b48976ac04d0f6c6617d69064b00eb63242036043ebe6552221a3b139
7
+ data.tar.gz: 2ca1c35c3123c35cfb528697d15f1417a13ced7c75669f15361d8006f2f437c224892e8bbe2c47d8382e6b2cb6eb37627f0de80223f0403f29049fd49c1357af
data/bin/dg CHANGED
@@ -10,6 +10,7 @@ COMMANDS = %w(
10
10
  build
11
11
  debug
12
12
  deploy
13
+ deploy_check
13
14
  help
14
15
  purge
15
16
  push
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=$GIT_BRANCH #{git_image_name} /u/app/deploy-to.rb), capture = true
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
@@ -1,3 +1,3 @@
1
1
  module DG
2
- VERSION = '0.6.8'
2
+ VERSION = '0.6.9'
3
3
  end
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.8
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: 2015-06-18 00:00:00.000000000 Z
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.2.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: