#!/usr/bin/env bash set -euo pipefail IMAGE="docker.adamksmith.xyz/jbod-monitor" cd "$(dirname "$0")" # Stage and commit all changes git add -A if git diff --cached --quiet; then echo "No changes to commit, using HEAD" else git commit -m "${1:-Build and push image}" fi SHA=$(git rev-parse --short HEAD) echo "Building ${IMAGE}:${SHA}" docker build -t "${IMAGE}:${SHA}" -t "${IMAGE}:latest" . echo "Pushing ${IMAGE}:${SHA}" docker push "${IMAGE}:${SHA}" docker push "${IMAGE}:latest" echo "Done: ${IMAGE}:${SHA}"