order-service/deploy/image-build.sh
Piotr Biernat f7802a1a51
All checks were successful
continuous-integration/drone/push Build is passing
Refactored docker image builder script
2022-11-30 02:14:45 +01:00

37 lines
1.6 KiB
Bash
Executable File

#!/bin/sh
# RUN IN REPO ROOT DIR !!
export IMAGE_PREFIX="git.pbiernat.dev/egommerce/order"
export BUILDER_IMAGE="$IMAGE_PREFIX-builder:tmp"
export SERVER_IMAGE="$IMAGE_PREFIX-svc"
export WORKER_IMAGE="$IMAGE_PREFIX-worker"
TARGET=${1:-latest}
docker build --no-cache -t "$BUILDER_IMAGE" -f Dockerfile.builder . >/dev/null && echo "Successfully tagged $BUILDER_IMAGE"
echo "Building target $IMAGE_PREFIX images..."
if [ $TARGET = "latest" ]
then
# SERVER
docker build --build-arg SVC_NAME=basket-svc --build-arg SVC_VER="1.0" --build-arg BIN_OUTPUT=/go/bin/server \
--rm --build-arg BUILDER_IMAGE --cache-from "$SERVER_IMAGE:$TARGET" \
-t "$SERVER_IMAGE:$TARGET" -f Dockerfile.target . >/dev/null 2>&1
# WORKER
docker build --build-arg SVC_NAME=basket-worker --build-arg SVC_VER="1.0" --build-arg BIN_OUTPUT=/go/bin/worker \
--rm --build-arg BUILDER_IMAGE --cache-from "$WORKER_IMAGE:$TARGET" \
-t "$WORKER_IMAGE:$TARGET" -f Dockerfile.target . >/dev/null 2>&1
else
# SERVER
docker build --build-arg SVC_NAME=basket-svc --build-arg SVC_VER="dev" --build-arg BIN_OUTPUT=/go/bin/server \
--rm --build-arg BUILDER_IMAGE --no-cache -t "$SERVER_IMAGE:$TARGET" -f Dockerfile.target . \
>/dev/null && echo "Successfully tagged $SERVER_IMAGE:$TARGET"
# WORKER
docker build --build-arg SVC_NAME=basket-worker --build-arg SVC_VER="dev" --build-arg BIN_OUTPUT=/go/bin/worker \
--rm --build-arg BUILDER_IMAGE --no-cache -t "$WORKER_IMAGE:$TARGET" -f Dockerfile.target . \
>/dev/null && echo "Successfully tagged $WORKER_IMAGE:$TARGET"
fi
echo "Done."