nise/nise-backend/Build.sh

32 lines
982 B
Bash
Executable File

#!/bin/bash
# Exit on error and catch pipeline errors
set -eo pipefail
# Source Jabba for Java version management
source /home/anon/.jabba/jabba.sh
# Set Java version with Jabba
jabba use 21.0.2
# Variables for Docker image
IMAGE_NAME="nise-backend"
IMAGE_REGISTRY="git.nise.moe/nuff"
IMAGE_VERSION="latest"
# Clean up previous build artifacts
rm -rf target/
# Clean and build the Maven project
echo "Building main project..."
mvn clean package || { echo "Maven build failed"; exit 1; }
# Build Docker image
echo "Building Docker image..."
docker build . -t "$IMAGE_NAME:$IMAGE_VERSION" || { echo "Docker build failed"; exit 1; }
# Tag and push Docker image
docker tag "$IMAGE_NAME:$IMAGE_VERSION" "$IMAGE_REGISTRY/$IMAGE_NAME:$IMAGE_VERSION"
docker push "$IMAGE_REGISTRY/$IMAGE_NAME:$IMAGE_VERSION" || { echo "Error: Failed to push $IMAGE_REGISTRY/$IMAGE_NAME:$IMAGE_VERSION"; exit 1; }
echo "Docker image pushed successfully to $IMAGE_REGISTRY/$IMAGE_NAME:$IMAGE_VERSION"