28 lines
736 B
Bash
Executable File
28 lines
736 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
IMAGE_REPO="${IMAGE_REPO:-localhost/kubeviz}"
|
|
IMAGE_TAG="${IMAGE_TAG:-prod}"
|
|
SERVICE_NAME="${SERVICE_NAME:-kubeviz.service}"
|
|
|
|
if git rev-parse --short=12 HEAD >/dev/null 2>&1; then
|
|
BUILD_ID="$(git rev-parse --short=12 HEAD)"
|
|
else
|
|
BUILD_ID="$(date +%s)"
|
|
fi
|
|
|
|
SOURCE_IMAGE="${IMAGE_REPO}:ci-${BUILD_ID}"
|
|
RELEASE_IMAGE="${IMAGE_REPO}:${IMAGE_TAG}"
|
|
|
|
echo "Building ${SOURCE_IMAGE}"
|
|
sudo podman build --pull=always -t "${SOURCE_IMAGE}" .
|
|
|
|
echo "Tagging ${RELEASE_IMAGE}"
|
|
sudo podman tag "${SOURCE_IMAGE}" "${RELEASE_IMAGE}"
|
|
|
|
echo "Restarting ${SERVICE_NAME}"
|
|
sudo systemctl restart "${SERVICE_NAME}"
|
|
sudo systemctl is-active --quiet "${SERVICE_NAME}"
|
|
|
|
echo "Deployment successful: ${RELEASE_IMAGE}"
|