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 +4 -4
- data/.gitignore +1 -0
- data/Dockerfile +14 -6
- data/Dockerfile.release +6 -3
- data/build_dev.sh +1 -13
- data/lib/shipitron/server/docker/run_build_script.rb +6 -3
- data/lib/shipitron/version.rb +1 -1
- data/shipitron.gemspec +1 -0
- metadata +17 -4
- data/scripts/fetch-bundler-data.sh +0 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7b4ac38c06b7175cd6cd6afa86db5a58f1720685
|
4
|
+
data.tar.gz: 132599f283d1b3d2c4af7109e7234ce767f4a244
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ba91de68f68176fb983e12cbb708c708f65986641b8d9cc219a59954b01c4d2a694b1f0ddf61cc9352788d5a457c65efb358a2a41e6aa35225c56dc6bdbde499
|
7
|
+
data.tar.gz: c9da9482a2b85247c3b9da71c3c553b57a5138d70d84d4d12e9a631cecf9d79438fede1aa0761ae5b274f4b2dc6408523ec61b39218d3a2ab906bff657e28ae2
|
data/.gitignore
CHANGED
data/Dockerfile
CHANGED
@@ -1,4 +1,11 @@
|
|
1
|
-
FROM ruby:2.
|
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
|
-
|
47
|
-
RUN
|
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 && \
|
data/Dockerfile.release
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
FROM ruby:2.
|
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.
|
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 && \
|
data/build_dev.sh
CHANGED
@@ -3,17 +3,11 @@ set -e -x
|
|
3
3
|
|
4
4
|
build_image=outstand/shipitron:dev
|
5
5
|
dockerfile=Dockerfile
|
6
|
-
bundler_data_dir=
|
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
|
-
|
28
|
-
|
29
|
-
|
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
|
data/lib/shipitron/version.rb
CHANGED
data/shipitron.gemspec
CHANGED
@@ -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.
|
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-
|
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.
|
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
|