48 lines
1.0 KiB
Batchfile
48 lines
1.0 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 === 檢查變數 ========================
|
|
echo -----------------------------------
|
|
echo Check: IMAGE_PROJ_NAME=!IMAGE_PROJ_NAME!
|
|
echo Check: IMAGE_NAME=!IMAGE_NAME!
|
|
echo Check: TAG_VERSION=!TAG_VERSION!
|
|
echo Check: REMOTE_URL=!REMOTE_URL!
|
|
echo -----------------------------------
|
|
echo.
|
|
|
|
REM === 設定目標 image tag ==============
|
|
set "LOCAL_TAG=!IMAGE_NAME!:!TAG_VERSION!"
|
|
set "REMOTE_TAG=!REMOTE_URL!/!IMAGE_PROJ_NAME!/!IMAGE_NAME!:!TAG_VERSION!"
|
|
|
|
|
|
REM === 流程 ============================
|
|
|
|
:: 1. 登入 遠端倉庫
|
|
echo.
|
|
echo Login...
|
|
docker login !REMOTE_URL!
|
|
|
|
:: 2. 標簽 標記映像檔
|
|
echo.
|
|
echo Tagging image...
|
|
docker tag !LOCAL_TAG! !REMOTE_TAG!
|
|
|
|
:: 3. 推送 映像檔
|
|
echo.
|
|
echo Pushing image...
|
|
docker push !REMOTE_TAG!
|
|
|
|
:: 4. 完成
|
|
echo Done.
|
|
pause
|