Newer
Older
screenshot-server / build-and-push.bat
@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