Files
2025-10-22 11:40:12 +08:00

30 lines
803 B
Bash
Executable File

#!/bin/bash
# Build Docker image
# Args:
# 1. IMAGE_NAME: image name, required
# 2. DOCKER_FILE: docker file, default is Dockerfile
set -e
IMAGE_NAME=$1
DOCKER_FILE=${2:-Dockerfile}
if [ -z "$IMAGE_NAME" ]; then
echo "IMAGE_NAME is not set";
exit 1;
fi;
VERSION=$(cat VERSION);
echo "Building image: $IMAGE_NAME:$VERSION with Dockerfile: $DOCKER_FILE";
docker build -t $IMAGE_NAME:$VERSION -f $DOCKER_FILE .;
docker push $IMAGE_NAME:$VERSION;
if [[ "$VERSION" != *"-"* ]]; then
echo "This is a stable release, also tagging as latest";
docker tag $IMAGE_NAME:$VERSION $IMAGE_NAME:latest;
docker push $IMAGE_NAME:latest;
echo "Latest tag pushed successfully";
else
echo "This is a pre-release version, skipping latest tag";
fi;
echo "Image built and pushed successfully: $IMAGE_NAME:$VERSION"