26 lines
528 B
Bash
Executable File
26 lines
528 B
Bash
Executable File
#!/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}"
|