@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion
REM Скрипт для сборки и публикации в Docker Hub
REM Использование: build-and-push.bat your-dockerhub-username
set DOCKER_USERNAME=%1
if "%DOCKER_USERNAME%"=="" set DOCKER_USERNAME=malexple
set IMAGE_NAME=screenshot-server
set VERSION=1.0.0
echo.
echo === Сборка JAR ===
call gradlew.bat clean bootJar
if %ERRORLEVEL% neq 0 (
echo Ошибка сборки JAR!
exit /b 1
)
echo.
echo === Сборка Docker образа ===
docker build -t %DOCKER_USERNAME%/%IMAGE_NAME%:%VERSION% .
if %ERRORLEVEL% neq 0 (
echo Ошибка сборки Docker образа!
exit /b 1
)
docker tag %DOCKER_USERNAME%/%IMAGE_NAME%:%VERSION% %DOCKER_USERNAME%/%IMAGE_NAME%:latest
echo.
echo === Публикация в Docker Hub ===
echo Убедитесь, что вы авторизованы: docker login
echo.
docker push %DOCKER_USERNAME%/%IMAGE_NAME%:%VERSION%
if %ERRORLEVEL% neq 0 (
echo Ошибка публикации! Выполните: docker login
exit /b 1
)
docker push %DOCKER_USERNAME%/%IMAGE_NAME%:latest
echo.
echo === Готово! ===
echo Образ доступен: %DOCKER_USERNAME%/%IMAGE_NAME%:latest
echo.
echo Для запуска на сервере:
echo docker run -d -p 8080:8080 -e TELEGRAM_BOT_TOKEN=your_token -e TELEGRAM_ALLOWED_CHAT_IDS=your_id -v screenshot-data:/data/uploads %DOCKER_USERNAME%/%IMAGE_NAME%:latest
endlocal