empower_front/Scripts/12.push-image.bat

54 lines
1.3 KiB
Batchfile

@echo off
cd /d "%~dp0"
setlocal enabledelayedexpansion
REM === 載入 .env 變數(忽略註解與空行) ===
for /f "usebackq tokens=1,* delims==" %%a in (".env") do (
if "%%a" neq "" (
if not "%%a"=="REM" (
set "%%a=%%b"
)
)
)
REM === 讀取版本 ========================
set /p VERSION=<version.txt
REM ====================================
REM === 檢查變數 ========================
echo -----------------------------------
echo VERSION=!VERSION!
echo IMAGE_PROJ_NAME=!IMAGE_PROJ_NAME!
echo IMAGE_NAME=!IMAGE_NAME!
echo REMOTE_URL=!REMOTE_URL!
echo -----------------------------------
echo.
REM === 設定目標 image tag ==============
set "LOCAL_TAG=!IMAGE_PROJ_NAME!/!IMAGE_NAME!:!VERSION!"
set "REMOTE_TAG=!REMOTE_URL!/!IMAGE_PROJ_NAME!/!IMAGE_NAME!:!VERSION!"
set "REMOTE_TAG_LATEST=!REMOTE_URL!/!IMAGE_PROJ_NAME!/!IMAGE_NAME!:latest"
REM === 流程 ============================
:: 1. 登入 遠端倉庫
echo.
echo Login...
docker login !REMOTE_URL!
:: 2. 標簽 標記映像檔
echo.
echo Tagging image...
docker tag !LOCAL_TAG! !REMOTE_TAG!
docker tag !LOCAL_TAG! !REMOTE_TAG_LATEST!
:: 3. 推送 映像檔
echo.
echo Pushing image...
docker push !REMOTE_TAG!
docker push !REMOTE_TAG_LATEST!
:: 4. 完成
echo Done.
pause