30 lines
803 B
Bash
Executable File
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" |