From e41f322e20037234e2a9fff764388477a0a66630 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikola=20Dere=C5=BEi=C4=87?= Date: Mon, 11 Aug 2025 14:10:29 +0200 Subject: [PATCH 1/2] chore(deploy): use IMAGE_VERSION env var and read version from package.json --- deploy.sh | 32 +++++++++++++++++++++++++++++--- docker-compose-deploy.yml | 2 +- 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/deploy.sh b/deploy.sh index f731e8b..739539a 100755 --- a/deploy.sh +++ b/deploy.sh @@ -1,4 +1,30 @@ #!/bin/bash -docker stack deploy \ - -c docker-compose-deploy.yml \ - utility-bills-tracker +set -euo pipefail + +COMPOSE_FILE="docker-compose-deploy.yml" +PACKAGE_JSON="package.json" +STACK_NAME=${STACK_NAME:-utility-bills-tracker} + +if [ ! -f "$PACKAGE_JSON" ]; then + echo "package.json not found" >&2 + exit 1 +fi + +# Extract version (prefer jq if available) +if command -v jq >/dev/null 2>&1; then + APP_VERSION=$(jq -r '.version' "$PACKAGE_JSON") +else + APP_VERSION=$(grep -E '"version"' "$PACKAGE_JSON" | head -1 | sed -E 's/.*"version"[[:space:]]*:[[:space:]]*"([^"]+)".*/\1/') +fi + +if [ -z "${APP_VERSION:-}" ] || [ "$APP_VERSION" = "null" ]; then + echo "Could not determine app version from package.json" >&2 + exit 2 +fi + +echo "Deploying $STACK_NAME with image version: $APP_VERSION" + +# Pass IMAGE_VERSION env var for compose variable substitution +IMAGE_VERSION="$APP_VERSION" docker stack deploy \ + -c "$COMPOSE_FILE" \ + "$STACK_NAME" diff --git a/docker-compose-deploy.yml b/docker-compose-deploy.yml index 5420e14..290ba21 100644 --- a/docker-compose-deploy.yml +++ b/docker-compose-deploy.yml @@ -13,7 +13,7 @@ networks: services: web-app: - image: utility-bills-tracker:1.56.0 + image: utility-bills-tracker:${IMAGE_VERSION} networks: - traefik-network - mongo-network From 511c9c652973d04c21552993c1799e6887f0131b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikola=20Dere=C5=BEi=C4=87?= Date: Mon, 11 Aug 2025 14:12:56 +0200 Subject: [PATCH 2/2] simplified build script --- deploy.sh | 27 +++++++-------------------- 1 file changed, 7 insertions(+), 20 deletions(-) diff --git a/deploy.sh b/deploy.sh index 739539a..771f66f 100755 --- a/deploy.sh +++ b/deploy.sh @@ -1,28 +1,15 @@ #!/bin/bash -set -euo pipefail - -COMPOSE_FILE="docker-compose-deploy.yml" -PACKAGE_JSON="package.json" -STACK_NAME=${STACK_NAME:-utility-bills-tracker} - -if [ ! -f "$PACKAGE_JSON" ]; then - echo "package.json not found" >&2 - exit 1 +if [ "$1" == "" ] ; then + printf "\nNisi zadao verziju Docker image-a koji treba deployati" + printf "\n\nSintaksa:\n\n deploy.sh 1.0.0\n\n" + exit 1 fi -# Extract version (prefer jq if available) -if command -v jq >/dev/null 2>&1; then - APP_VERSION=$(jq -r '.version' "$PACKAGE_JSON") -else - APP_VERSION=$(grep -E '"version"' "$PACKAGE_JSON" | head -1 | sed -E 's/.*"version"[[:space:]]*:[[:space:]]*"([^"]+)".*/\1/') -fi +printf "\nBUILD START ...\n\n" -if [ -z "${APP_VERSION:-}" ] || [ "$APP_VERSION" = "null" ]; then - echo "Could not determine app version from package.json" >&2 - exit 2 -fi +IMAGE_VERSION=$1 -echo "Deploying $STACK_NAME with image version: $APP_VERSION" +echo "Deploying $STACK_NAME with image version: $IMAGE_VERSION" # Pass IMAGE_VERSION env var for compose variable substitution IMAGE_VERSION="$APP_VERSION" docker stack deploy \