#!/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."