79 righe
2.2 KiB
Bash
Executable File
79 righe
2.2 KiB
Bash
Executable File
#!/bin/bash
|
|
# Build dell'immagine Odoo a partire dal pacchetto .deb ufficiale (community/enterprise)
|
|
# I file .deb vanno messi in ./deb (tracciati con git-lfs, vedi .gitattributes)
|
|
# Usage: ./build-container.sh [community|enterprise] [--no-cache]
|
|
|
|
set -e
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
DEB_DIR="${SCRIPT_DIR}/deb"
|
|
|
|
EDITION=""
|
|
NO_CACHE=""
|
|
USE_CACHE=false
|
|
|
|
for arg in "$@"; do
|
|
case "$arg" in
|
|
--no-cache) NO_CACHE="--no-cache" ;;
|
|
--use-cache) USE_CACHE=true ;;
|
|
community|enterprise) EDITION="$arg" ;;
|
|
esac
|
|
done
|
|
|
|
# Se non specificata da riga di comando, chiedi la versione
|
|
if [[ "$EDITION" != "community" && "$EDITION" != "enterprise" ]]; then
|
|
echo "Quale versione di Odoo vuoi buildare?"
|
|
select choice in "community" "enterprise"; do
|
|
case "$choice" in
|
|
community|enterprise)
|
|
EDITION="$choice"
|
|
break
|
|
;;
|
|
*)
|
|
echo "Scelta non valida, riprova."
|
|
;;
|
|
esac
|
|
done
|
|
fi
|
|
|
|
# Default: forza --no-cache per evitare di usare cache con ARG vecchio
|
|
# (a meno che non venga passato --use-cache)
|
|
if [[ "$USE_CACHE" == "false" ]]; then
|
|
NO_CACHE="--no-cache"
|
|
fi
|
|
|
|
case "$EDITION" in
|
|
community) DEB_FILE="odoo_19_c.deb" ;;
|
|
enterprise) DEB_FILE="odoo_19_e.deb" ;;
|
|
esac
|
|
|
|
if [ ! -f "${DEB_DIR}/${DEB_FILE}" ]; then
|
|
echo "ERRORE: ${DEB_DIR}/${DEB_FILE} non trovato."
|
|
echo "Copia il pacchetto .deb ufficiale di Odoo in ${DEB_DIR} (gestito tramite git-lfs, vedi .gitattributes)."
|
|
exit 1
|
|
fi
|
|
|
|
IMAGE_TAG="odoo:19.0-${EDITION}"
|
|
|
|
echo "=== Build immagine Odoo (${EDITION}) ==="
|
|
echo "Pacchetto: ${DEB_FILE}"
|
|
echo "Image tag: localhost/${IMAGE_TAG}"
|
|
echo
|
|
|
|
# Debug: verifica che la variabile è corretta
|
|
echo "[DEBUG] DEB_FILE=${DEB_FILE}"
|
|
echo "[DEBUG] Comando: podman build --build-arg ODOO_DEB_FILE=${DEB_FILE} ..."
|
|
echo
|
|
|
|
podman build $NO_CACHE \
|
|
--build-arg "ODOO_DEB_FILE=${DEB_FILE}" \
|
|
-t "${IMAGE_TAG}" \
|
|
-f "${SCRIPT_DIR}/odoo.Containerfile" \
|
|
"${SCRIPT_DIR}"
|
|
|
|
echo
|
|
echo "✓ Immagine creata: localhost/${IMAGE_TAG}"
|
|
echo
|
|
echo "Per esportarla:"
|
|
echo " podman save -o ~/odoo-19.0-${EDITION}.tar localhost/${IMAGE_TAG}"
|