Files
GKNB_MSTM071/Frontend/1 het/backend/scripts/build-production-images.bat
T
2026-03-21 20:39:18 +01:00

49 lines
1.3 KiB
Batchfile

@echo off
setlocal EnableExtensions EnableDelayedExpansion
set "ROOT_DIR=%~dp0.."
set "IMAGE_OUT_DIR=%ROOT_DIR%\images"
set "ARCHIVE_FILE=%IMAGE_OUT_DIR%\webstore-production-images.tar"
set "API_IMAGE=webstore-api:prod"
set "DB_IMAGE=postgres:16-alpine"
echo [1/6] Checking Docker availability...
docker --version >nul 2>&1
if errorlevel 1 (
echo ERROR: Docker CLI is not available. Install Docker Desktop first.
exit /b 1
)
echo [2/6] Building production API image: %API_IMAGE%
pushd "%ROOT_DIR%" >nul
docker build -t "%API_IMAGE%" -f Dockerfile .
if errorlevel 1 (
popd >nul
echo ERROR: Failed to build API image.
exit /b 1
)
popd >nul
echo [3/6] Pulling database image: %DB_IMAGE%
docker pull "%DB_IMAGE%"
if errorlevel 1 (
echo ERROR: Failed to pull database image.
exit /b 1
)
echo [4/6] Preparing image output directory: %IMAGE_OUT_DIR%
if not exist "%IMAGE_OUT_DIR%" mkdir "%IMAGE_OUT_DIR%"
echo [5/6] Exporting images to archive...
if exist "%ARCHIVE_FILE%" del /f /q "%ARCHIVE_FILE%"
docker save -o "%ARCHIVE_FILE%" "%API_IMAGE%" "%DB_IMAGE%"
if errorlevel 1 (
echo ERROR: Failed to export Docker images.
exit /b 1
)
echo [6/6] Done.
echo Created archive: "%ARCHIVE_FILE%"
echo Share this file with students together with production.compose.yml and .production.env.
exit /b 0