Skip to content
This repository was archived by the owner on Dec 5, 2023. It is now read-only.

Commit 09ffc68

Browse files
added Docker build and push scripts
1 parent 1933a03 commit 09ffc68

File tree

2 files changed

+84
-0
lines changed

2 files changed

+84
-0
lines changed

scripts/build.sh

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
#!/usr/bin/env bash
2+
3+
set -ev
4+
5+
export BUILD_VERSION="0.0.2-SNAPSHOT"
6+
export BUILD_DATE=`date +%Y-%m-%dT%T%z`
7+
8+
SCRIPT_DIR=$(dirname "$0")
9+
10+
if [[ -z "$GROUP" ]] ; then
11+
echo "Cannot find GROUP env var"
12+
exit 1
13+
fi
14+
15+
if [[ -z "$COMMIT" ]] ; then
16+
echo "Cannot find COMMIT env var"
17+
exit 1
18+
fi
19+
20+
if [[ "$(uname)" == "Darwin" ]]; then
21+
DOCKER_CMD=docker
22+
else
23+
DOCKER_CMD="sudo docker"
24+
fi
25+
CODE_DIR=$(cd $SCRIPT_DIR/..; pwd)
26+
27+
DOCKER_REPO=${GROUP}/${REPO}
28+
$DOCKER_CMD build \
29+
--build-arg BUILD_VERSION=$BUILD_VERSION \
30+
--build-arg BUILD_DATE=$BUILD_DATE \
31+
--build-arg COMMIT=$COMMIT \
32+
-t ${DOCKER_REPO}:${COMMIT} $CODE_DIR/Dockerfile;

scripts/push.sh

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
#!/usr/bin/env bash
2+
3+
set -ev
4+
5+
if [[ -z "$GROUP" ]] ; then
6+
echo "Cannot find GROUP env var"
7+
exit 1
8+
fi
9+
10+
if [[ -z "$COMMIT" ]] ; then
11+
echo "Cannot find COMMIT env var"
12+
exit 1
13+
fi
14+
15+
push() {
16+
DOCKER_PUSH=1;
17+
while [ $DOCKER_PUSH -gt 0 ] ; do
18+
echo "Pushing $1";
19+
docker push $1;
20+
DOCKER_PUSH=$(echo $?);
21+
if [[ "$DOCKER_PUSH" -gt 0 ]] ; then
22+
echo "Docker push failed with exit code $DOCKER_PUSH";
23+
fi;
24+
done;
25+
}
26+
27+
tag_and_push_all() {
28+
if [[ -z "$1" ]] ; then
29+
echo "Please pass the tag"
30+
exit 1
31+
else
32+
TAG=$1
33+
fi
34+
for m in ./docker/*/; do
35+
REPO=${GROUP}/$(basename $m)
36+
if [[ "$COMMIT" != "$TAG" ]]; then
37+
docker tag ${REPO}:${COMMIT} ${REPO}:${TAG}
38+
fi
39+
push "$REPO:$TAG";
40+
done;
41+
}
42+
43+
# Push snapshot when in master
44+
if [ "$TRAVIS_BRANCH" == "master" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ]; then
45+
tag_and_push_all master-${COMMIT:0:8}
46+
fi;
47+
48+
# Push tag and latest when tagged
49+
if [ -n "$TRAVIS_TAG" ]; then
50+
tag_and_push_all ${TRAVIS_TAG}
51+
tag_and_push_all latest
52+
fi;

0 commit comments

Comments
 (0)