shipitron 0.3.3 → 0.3.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f04072c2df6e1b7392cb15089b399abe2e34a4bc
4
- data.tar.gz: 286fec71017bed29169b35f22ef88b5d2f5d1533
3
+ metadata.gz: 7b4ac38c06b7175cd6cd6afa86db5a58f1720685
4
+ data.tar.gz: 132599f283d1b3d2c4af7109e7234ce767f4a244
5
5
  SHA512:
6
- metadata.gz: 9d26aa307c3d20f376b90ad4f900df77a5fdd834eec2b7342c5f2842629586ce29d6a0762c6cccb4d165399f9f451ca39768e6637ee491a478f5f397c6df93ea
7
- data.tar.gz: d302045e2344adb07067911ba1ae9ff11a858f309a75222f87c75f7a4f5cebb80c2f0a05d17d55c8083776d49279ac8f185fdddf835f36e21fe0d263f0f396e9
6
+ metadata.gz: ba91de68f68176fb983e12cbb708c708f65986641b8d9cc219a59954b01c4d2a694b1f0ddf61cc9352788d5a457c65efb358a2a41e6aa35225c56dc6bdbde499
7
+ data.tar.gz: c9da9482a2b85247c3b9da71c3c553b57a5138d70d84d4d12e9a631cecf9d79438fede1aa0761ae5b274f4b2dc6408523ec61b39218d3a2ab906bff657e28ae2
data/.gitignore CHANGED
@@ -2,3 +2,4 @@
2
2
  /pkg/
3
3
  Gemfile.lock
4
4
  /tmp/
5
+ /cache/
data/Dockerfile CHANGED
@@ -1,4 +1,11 @@
1
- FROM ruby:2.3.1-alpine
1
+ FROM ruby:2.4.1-alpine as cache
2
+ COPY cache/ /tmp/
3
+ RUN cd /usr/local/bundle && \
4
+ ([ -f /tmp/bundler-data.tar.gz ] && \
5
+ tar -zxf /tmp/bundler-data.tar.gz && \
6
+ rm /tmp/bundler-data.tar.gz) || true
7
+
8
+ FROM ruby:2.4.1-alpine
2
9
  MAINTAINER Ryan Schlesinger <ryan@outstand.com>
3
10
 
4
11
  RUN addgroup -S shipitron && \
@@ -33,7 +40,10 @@ RUN apk add --no-cache \
33
40
  git \
34
41
  openssh-client \
35
42
  perl \
36
- bash
43
+ bash \
44
+ curl \
45
+ wget \
46
+ jq
37
47
 
38
48
  ENV USE_BUNDLE_EXEC true
39
49
  ENV BUNDLE_GEMFILE /shipitron/Gemfile
@@ -41,11 +51,9 @@ ENV BUNDLE_GEMFILE /shipitron/Gemfile
41
51
  WORKDIR /app
42
52
  COPY Gemfile shipitron.gemspec /shipitron/
43
53
  COPY lib/shipitron/version.rb /shipitron/lib/shipitron/
44
- COPY scripts/fetch-bundler-data.sh /shipitron/scripts/fetch-bundler-data.sh
45
54
 
46
- ARG bundler_data_host
47
- RUN /shipitron/scripts/fetch-bundler-data.sh ${bundler_data_host} && \
48
- (bundle check || bundle install) && \
55
+ COPY --from=cache /usr/local/bundle /usr/local/bundle
56
+ RUN (bundle check || bundle install) && \
49
57
  git config --global push.default simple
50
58
  COPY . /shipitron/
51
59
  RUN ln -s /shipitron/exe/shipitron /usr/local/bin/shipitron && \
@@ -1,4 +1,4 @@
1
- FROM ruby:2.3.1-alpine
1
+ FROM ruby:2.4.1-alpine
2
2
  MAINTAINER Ryan Schlesinger <ryan@outstand.com>
3
3
 
4
4
  RUN addgroup -S shipitron && \
@@ -33,11 +33,14 @@ RUN apk add --no-cache \
33
33
  git \
34
34
  openssh-client \
35
35
  perl \
36
- bash
36
+ bash \
37
+ curl \
38
+ wget \
39
+ jq
37
40
 
38
41
  WORKDIR /app
39
42
 
40
- ENV SHIPITRON_VERSION=0.3.3
43
+ ENV SHIPITRON_VERSION=0.3.4
41
44
 
42
45
  RUN gem install shipitron -v ${SHIPITRON_VERSION} && \
43
46
  mkdir -p /home/shipitron/.ssh && \
@@ -3,17 +3,11 @@ set -e -x
3
3
 
4
4
  build_image=outstand/shipitron:dev
5
5
  dockerfile=Dockerfile
6
- bundler_data_dir=tmp
6
+ bundler_data_dir=cache
7
7
 
8
- bundler_data_container=''
9
8
  tar_container=''
10
9
 
11
10
  function cleanup {
12
- if [ -n "$bundler_data_container" ]; then
13
- docker stop bundler-data
14
- docker rm -fv bundler-data
15
- fi
16
-
17
11
  if [ -n "$tar_container" ]; then
18
12
  docker rm -fv ${tar_container}
19
13
  fi
@@ -26,12 +20,6 @@ trap cleanup EXIT
26
20
  build_args=''
27
21
  mkdir -p ${bundler_data_dir}
28
22
 
29
- if [ -f $(pwd)/${bundler_data_dir}/bundler-data.tar.gz ]; then
30
- docker run --name bundler-data -v $(pwd)/${bundler_data_dir}/bundler-data.tar.gz:/usr/share/nginx/html/bundler-data.tar.gz:ro -d nginx:stable-alpine
31
- bundler_data_container=bundler-data
32
- build_args="--build-arg bundler_data_host=$(docker inspect --format '{{ .NetworkSettings.IPAddress }}' bundler-data)"
33
- fi
34
-
35
23
  docker build -t ${build_image} -f ${dockerfile} ${build_args} .
36
24
 
37
25
  docker run -t --cidfile=${bundler_data_dir}/cidfile -w /usr/local/bundle ${build_image} tar -zcf /tmp/bundler-data.tar.gz .
@@ -24,9 +24,12 @@ module Shipitron
24
24
  unless Pathname.new(build_script).exist?
25
25
  fail_with_error!(message: "#{build_script} does not exist")
26
26
  end
27
- Logger.info `#{build_script} #{docker_image}`
28
- if $? != 0
29
- fail_with_error!(message: "build script exited with non-zero code: #{$?}")
27
+
28
+ cmd = TTY::Command.new
29
+ result = cmd.run!("#{build_script} #{docker_image}")
30
+
31
+ if result.failure?
32
+ fail_with_error!(message: "build script exited with non-zero code: #{result.exit_status}")
30
33
  end
31
34
  end
32
35
  end
@@ -1,3 +1,3 @@
1
1
  module Shipitron
2
- VERSION = '0.3.3'
2
+ VERSION = '0.3.4'
3
3
  end
@@ -26,6 +26,7 @@ Gem::Specification.new do |spec|
26
26
  spec.add_runtime_dependency 'mime-types', '~> 3.0'
27
27
  spec.add_runtime_dependency 'minitar', '~> 0.5'
28
28
  spec.add_runtime_dependency 'mustache', '~> 1.0'
29
+ spec.add_runtime_dependency 'tty-command', '~> 0.6'
29
30
 
30
31
  spec.add_development_dependency "bundler", "~> 1.12"
31
32
  spec.add_development_dependency "rake", "~> 10.0"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shipitron
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.3.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Schlesinger
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-01-27 00:00:00.000000000 Z
11
+ date: 2017-08-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -136,6 +136,20 @@ dependencies:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
138
  version: '1.0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: tty-command
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '0.6'
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '0.6'
139
153
  - !ruby/object:Gem::Dependency
140
154
  name: bundler
141
155
  requirement: !ruby/object:Gem::Requirement
@@ -283,7 +297,6 @@ files:
283
297
  - lib/shipitron/smash.rb
284
298
  - lib/shipitron/version.rb
285
299
  - scripts/docker-entrypoint.sh
286
- - scripts/fetch-bundler-data.sh
287
300
  - shipitron.gemspec
288
301
  homepage: https://github.com/outstand/shipitron
289
302
  licenses: []
@@ -304,7 +317,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
304
317
  version: '0'
305
318
  requirements: []
306
319
  rubyforge_project:
307
- rubygems_version: 2.6.7
320
+ rubygems_version: 2.6.13
308
321
  signing_key:
309
322
  specification_version: 4
310
323
  summary: A deployment tool for use with Docker and ECS.
@@ -1,16 +0,0 @@
1
- #!/bin/sh
2
- set -x
3
-
4
- if [ -z "$1" ]; then
5
- echo 'Missing argument: bundler data host'
6
- exit 0
7
- fi
8
-
9
- wget -T 2 -O /tmp/bundler-data.tar.gz http://${1}/bundler-data.tar.gz
10
- if [ $? -ne 0 ]; then
11
- echo 'Unable to fetch bundler data.'
12
- else
13
- cd /usr/local/bundle && \
14
- tar -zxf /tmp/bundler-data.tar.gz && \
15
- rm /tmp/bundler-data.tar.gz
16
- fi