Files
catalog-service/deploy/scripts/image-build.sh
Piotr Biernat b7cb286e9a
Some checks failed
ci/woodpecker/push/workflow Pipeline failed
Added base woodpecker task
2025-11-04 21:35:28 +01:00

62 lines
2.2 KiB
Bash
Executable File

#!/bin/sh
# RUN IN REPO ROOT DIR !!
export IMAGE_PREFIX="git.ego.freeddns.org/egommerce/catalog"
export BUILDER_IMAGE="egommerce-builder:catalog"
export BUILD_TIME=$(date +"%Y%m%d%H%M%S")
export SERVER_IMAGE="$IMAGE_PREFIX-svc"
# export WORKER_IMAGE="$IMAGE_PREFIX-worker"
TARGET=${1:-latest}
[ ! -d "src/vendor" ] && sh -c "cd src; go mod vendor"
echo "Building target $IMAGE_PREFIX images..."
docker build --rm -t "$BUILDER_IMAGE" -f deploy/docker/Dockerfile.builder .
if [ $TARGET = "latest" ]
then
# PROD
docker build \
--build-arg SVC_NAME=catalog-svc \
--build-arg SVC_VER="1.0" \
--build-arg BUILDER_IMAGE=$BUILDER_IMAGE \
--build-arg BUILD_TIME \
--rm --cache-from $SERVER_IMAGE:$TARGET \
-t $SERVER_IMAGE:$TARGET \
-f deploy/docker/Dockerfile.target . > /dev/null 2>&1 && echo "Successfully tagged $SERVER_IMAGE:$TARGET"
# WORKER - TODO REMOVE IN FUTURE - cause we copy worker binary to the server image
# docker build \
# --build-arg SVC_NAME=catalog-worker \
# --build-arg SVC_VER="1.0" \
# --build-arg BIN_OUTPUT=/go/bin/worker \
# --build-arg BUILDER_IMAGE=$BUILDER_IMAGE \
# --build-arg BUILD_TIME \
# --rm --cache-from $WORKER_IMAGE:$TARGET \
# -t $WORKER_IMAGE:$TARGET \
# -f deploy/docker/Dockerfile.target . >/dev/null 2>&1 && echo "Successfully tagged $WORKER_IMAGE:$TARGET"
else
# DEV
docker build \
--build-arg SVC_NAME=catalog-svc \
--build-arg SVC_VER="dev" \
--build-arg BUILDER_IMAGE=$BUILDER_IMAGE \
--build-arg BUILD_TIME \
--rm --no-cache -t $SERVER_IMAGE:$TARGET \
-f deploy/docker/Dockerfile.target . > /dev/null 2>&1 && echo "Successfully tagged $SERVER_IMAGE:$TARGET"
# WORKER
# docker build \
# --build-arg SVC_NAME=catalog-worker \
# --build-arg SVC_VER="dev" \
# --build-arg BIN_OUTPUT=/go/bin/worker \
# --build-arg BUILDER_IMAGE=$BUILDER_IMAGE \
# --build-arg BUILD_TIME \
# --rm --no-cache \
# -t $WORKER_IMAGE:$TARGET \
# -f deploy/docker/Dockerfile.target . >/dev/null 2>&1 && echo "Successfully tagged $WORKER_IMAGE:$TARGET"
fi
echo "Done."