bcnd 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 6230e004285ab6eb7a389e3e0fa061a078b13dc3
4
- data.tar.gz: faf24aa4833ee588080813e2a7c1be72f5c424fb
2
+ SHA256:
3
+ metadata.gz: 780fa2eade35ad3593cbde03a1d831f880878fb34bf311b4e8be15d94ba5c026
4
+ data.tar.gz: 8dc6392a5732e5a6dc1e14d3542e56ed05f2af28b8553c17bfd55c5d9bf87911
5
5
  SHA512:
6
- metadata.gz: b2b94d49b67fe14200cdae999313b721439ab27d1ed984dadbb381314a6502803531697ce775958b6fc1b98a2af9f7747ba4d0e307d61185a618445cbbffcb2d
7
- data.tar.gz: b1782499cd34cfab166565e387f2f1ea29e96e43de9f107fb59370937cadcf9081784416f41f424a9f853b3c8b9e8b0078bdc5bdeffcb4bd16ead5ef27b6385b
6
+ metadata.gz: 4cdcc3007b946bd053f92f7797b2a969a59cd09b8de8584396191dea8384bc7855def8e0bf4045b31ed6f5dbb7da03df625c0ad72a8edc894141e7e154d31505
7
+ data.tar.gz: 2395a98cb44fa89a10d31255281419091c0b5f66623e03dcaa30724f5653f37ff62108453be6c06392e1e157ed3465aadd8222eb92262ddbae5bbbc69036a68f
@@ -32,12 +32,16 @@ module Bcnd
32
32
  case ci_service
33
33
  when :travis
34
34
  ENV['TRAVIS_PULL_REQUEST'] != 'false'
35
+ when :gitlab_ci
36
+ !!ENV['CI_MERGE_REQUEST_ID']
35
37
  end
36
38
  end
37
39
 
38
40
  def ci_service
39
41
  if ENV['TRAVIS']
40
42
  :travis
43
+ elsif ENV['GITLAB_CI']
44
+ :gitlab_ci
41
45
  else
42
46
  :unknown
43
47
  end
@@ -70,6 +74,10 @@ module Bcnd
70
74
  self.repository = ENV['TRAVIS_REPO_SLUG']
71
75
  self.commit = ENV['TRAVIS_COMMIT']
72
76
  self.branch = ENV['TRAVIS_BRANCH']
77
+ when :gitlab_ci
78
+ self.repository = ENV['CI_PROJECT_PATH']
79
+ self.commit = ENV['CI_COMMIT_SHA']
80
+ self.branch = ENV['CI_COMMIT_REF_NAME']
73
81
  end
74
82
  end
75
83
 
@@ -81,6 +81,7 @@ module Bcnd
81
81
  return
82
82
  when :building
83
83
  print '.'
84
+ $stdout.flush
84
85
  sleep 5
85
86
  end
86
87
  end
@@ -98,6 +99,7 @@ module Bcnd
98
99
  end
99
100
 
100
101
  def put_tag(repo:, image_id:, tag:)
102
+ return if ENV["DRY_RUN"]
101
103
  conn.put(
102
104
  path: "/repository/#{repo}/tag/#{tag}",
103
105
  body: {
@@ -8,7 +8,10 @@ module Bcnd
8
8
  end
9
9
 
10
10
  def deploy
11
- return if env.pull_request?
11
+ if env.pull_request?
12
+ puts "Nothing to do for a pull request. Exiting."
13
+ return
14
+ end
12
15
 
13
16
  case env.deploy_stage
14
17
  when :mainline
@@ -30,7 +33,7 @@ module Bcnd
30
33
  puts "Found the tagged image #{env.commit}"
31
34
  else
32
35
  quay.wait_for_automated_build(repo: env.quay_repository, git_sha: env.commit)
33
- image_id = quay.docker_image_id_for_tag(repo: env.quay_repository, tag: 'latest') # FIXME
36
+ image_id = quay.docker_image_id_for_tag(repo: env.quay_repository, tag: env.branch)
34
37
  quay.put_tag(repo: env.quay_repository, image_id: image_id, tag: env.commit)
35
38
  puts "attached tag #{env.commit} to image #{image_id}"
36
39
  end
@@ -56,7 +59,10 @@ module Bcnd
56
59
  end
57
60
 
58
61
  def bcn_deploy(tag, token)
59
- system "bcn deploy -e #{env.deploy_environment} --tag #{tag} --heritage-token #{token} 1> /dev/null"
62
+ unless ENV['DRY_RUN']
63
+ system "bcn deploy -e #{env.deploy_environment} --tag #{tag} --heritage-token #{token} 1> /dev/null"
64
+ end
65
+
60
66
  puts "deploy triggered with tag #{tag} to #{env.deploy_environment} environment"
61
67
  if $?.exitstatus != 0
62
68
  raise "bcn returned non-zero exitcode #{$?.exitstatus}"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bcnd
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kazunori Kajihiro
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-04-24 00:00:00.000000000 Z
11
+ date: 2019-03-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: octokit
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.8'
33
+ version: '2.0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '1.8'
40
+ version: '2.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: stub_env
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
69
83
  description: Degica's opinionated deployment tool.
70
84
  email:
71
85
  - kkajihiro@degica.com
@@ -101,7 +115,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
101
115
  version: '0'
102
116
  requirements: []
103
117
  rubyforge_project:
104
- rubygems_version: 2.5.2
118
+ rubygems_version: 2.7.6
105
119
  signing_key:
106
120
  specification_version: 4
107
121
  summary: Degica's opinionated deployment tool