V0.9.23
This commit is contained in:
74
build.sh
Normal file
74
build.sh
Normal file
@@ -0,0 +1,74 @@
|
||||
#!/usr/bin/env bash
|
||||
# ─────────────────────────────────────────────────────────────
|
||||
# jama — Docker build & release script
|
||||
#
|
||||
# Usage:
|
||||
# ./build.sh # builds jama:latest
|
||||
# ./build.sh 1.2.0 # builds jama:1.2.0 AND jama:latest
|
||||
# ./build.sh 1.2.0 push # builds, tags, and pushes to registry
|
||||
#
|
||||
# To push to a registry, set REGISTRY env var:
|
||||
# REGISTRY=ghcr.io/yourname ./build.sh 1.2.0 push
|
||||
# REGISTRY=yourdockerhubuser ./build.sh 1.2.0 push
|
||||
# ─────────────────────────────────────────────────────────────
|
||||
set -euo pipefail
|
||||
|
||||
VERSION="${1:-0.9.23}"
|
||||
ACTION="${2:-}"
|
||||
REGISTRY="${REGISTRY:-}"
|
||||
IMAGE_NAME="jama"
|
||||
|
||||
# If a registry is set, prefix image name
|
||||
if [[ -n "$REGISTRY" ]]; then
|
||||
FULL_IMAGE="${REGISTRY}/${IMAGE_NAME}"
|
||||
else
|
||||
FULL_IMAGE="${IMAGE_NAME}"
|
||||
fi
|
||||
|
||||
echo "╔══════════════════════════════════════╗"
|
||||
echo "║ jama Docker Builder ║"
|
||||
echo "╠══════════════════════════════════════╣"
|
||||
echo "║ Image : ${FULL_IMAGE}"
|
||||
echo "║ Version : ${VERSION}"
|
||||
echo "╚══════════════════════════════════════╝"
|
||||
echo ""
|
||||
|
||||
# Build — npm install runs inside Docker, no host npm required
|
||||
echo "▶ Building image..."
|
||||
docker build \
|
||||
--build-arg BUILD_DATE="$(date -u +%Y-%m-%dT%H:%M:%SZ)" \
|
||||
--build-arg VERSION="${VERSION}" \
|
||||
-t "${FULL_IMAGE}:${VERSION}" \
|
||||
-t "${FULL_IMAGE}:latest" \
|
||||
-f Dockerfile \
|
||||
.
|
||||
|
||||
echo ""
|
||||
echo "✔ Built successfully:"
|
||||
echo " ${FULL_IMAGE}:${VERSION}"
|
||||
echo " ${FULL_IMAGE}:latest"
|
||||
|
||||
# Optionally push
|
||||
if [[ "$ACTION" == "push" ]]; then
|
||||
if [[ -z "$REGISTRY" ]]; then
|
||||
echo ""
|
||||
echo "⚠ No REGISTRY set. Pushing to Docker Hub as '${IMAGE_NAME}'."
|
||||
echo " Set REGISTRY=youruser or REGISTRY=ghcr.io/yourorg to override."
|
||||
fi
|
||||
echo ""
|
||||
echo "▶ Pushing ${FULL_IMAGE}:${VERSION}..."
|
||||
docker push "${FULL_IMAGE}:${VERSION}"
|
||||
echo "▶ Pushing ${FULL_IMAGE}:latest..."
|
||||
docker push "${FULL_IMAGE}:latest"
|
||||
echo ""
|
||||
echo "✔ Pushed successfully."
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "─────────────────────────────────────────"
|
||||
echo "To deploy this version, set in your .env:"
|
||||
echo " JAMA_VERSION=${VERSION}"
|
||||
echo ""
|
||||
echo "Then run:"
|
||||
echo " docker compose up -d"
|
||||
echo "─────────────────────────────────────────"
|
||||
Reference in New Issue
Block a user