#!/bin/bash VERSION=$(git log -1 --pretty=%h) REPO="iterativ/vbv-lernwelt-django" LATEST="${REPO}:latest" BUILD_TIMESTAMP=$( date '+%F_%H:%M:%S' ) VERSION_TAG="${REPO}:$VERSION" APP_NAME=${1:-vbv-lernwelt} echo "Deploy to $APP_NAME" # script should fail when any process returns non zero code set -ev # create client npm run build # create and push new docker container ## Note that images build with buildx do not appear in your docker images list, therefore the push true must be set docker buildx build --push=true --platform=linux/amd64 -f compose/django/Dockerfile -t "$REPO" -t "$LATEST" -t "$VERSION_TAG" --build-arg VERSION="$VERSION" --build-arg BUILD_TIMESTAMP="$BUILD_TIMESTAMP" --build-arg GIT_COMMIT="$(git log -1 --format=%h)" . #deploy to caprover, explicitly use the version tag... so if there is a mismatch you get an error message caprover deploy -h https://captain.control.iterativ.ch -a "$APP_NAME" -i docker.io/"$VERSION_TAG"