Skip to content

Commit d227206

Browse files
Extract deployment logic to its own script
And use Travis deployment feature to run it (which allows conditional execution):
1 parent e6c17cd commit d227206

3 files changed

Lines changed: 27 additions & 15 deletions

File tree

.travis.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,12 @@ before_script:
1010

1111
script: ./build.sh
1212

13+
deploy:
14+
provider: script
15+
script: ./publish.sh
16+
on:
17+
branch: master
18+
1319
env:
1420
global:
1521
- DOCKER_BUILDKIT=1

build.sh

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
#!/bin/bash
22

3-
set -ev
3+
if [ -z "${RUBY_VERSION}" ]; then
4+
echo "Error: \$RUBY_VERSION is unset. Exiting."
5+
exit 64
6+
fi
47

5-
### Build
8+
set -ev
69

710
docker build . \
811
--build-arg BASE_IMAGE_TAG=${RUBY_VERSION} \
@@ -12,16 +15,3 @@ docker build . \
1215
echo "--tag alpinelab/ruby-dev:${alias}"
1316
done
1417
)
15-
16-
### Publish
17-
18-
if [[ ${TRAVIS_BRANCH} = "master" && -z ${TRAVIS_PULL_REQUEST_BRANCH} ]]; then
19-
# Publish with base image name
20-
docker push alpinelab/ruby-dev:${RUBY_VERSION}
21-
# Publish as aliases
22-
for alias in ${ALIAS//,/ }; do
23-
docker push alpinelab/ruby-dev:${alias}
24-
done
25-
else
26-
echo "This is not a commit on \`master\`: skip publishing.";
27-
fi

publish.sh

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#!/bin/bash
2+
3+
if [ -z "${RUBY_VERSION}" ]; then
4+
echo "Error: \$RUBY_VERSION is unset. Exiting."
5+
exit 64
6+
fi
7+
8+
set -ev
9+
10+
# Publish default name
11+
docker push alpinelab/ruby-dev:${RUBY_VERSION}
12+
13+
# Publish aliases
14+
for alias in ${ALIAS//,/ }; do
15+
docker push alpinelab/ruby-dev:${alias}
16+
done

0 commit comments

Comments
 (0)