shipitron 0.3.3 → 0.3.4

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
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