更新 Dockerfile 和建構腳本,修正 docker-entrypoint.sh 路徑,刪除不必要的推送腳本,並調整版本管理邏輯
This commit is contained in:
parent
fb2985aa5d
commit
48e9669bd0
@ -33,11 +33,9 @@ COPY --from=builder /app/dist /usr/share/nginx/html
|
||||
# 暴露 Nginx 預設的 80 端口
|
||||
EXPOSE 80
|
||||
|
||||
# 2025-08-29
|
||||
LABEL changelog="2025-08-29: 去掉環境變數 VITE_MQTT_BASEURL,新增 MQTT 相關 API,並新增總部帳戶管理初版;資產管理 : 過濾無效檔案、更新資產編輯和圖表資料來源的處理邏輯。"
|
||||
|
||||
# Nginx 已經預設啟動,所以不需要 CMD 指令
|
||||
COPY docker-entrypoint.sh /docker-entrypoint.sh
|
||||
# docker-entrypoint.sh 位於 scripts/ 目錄,更新 COPY 路徑以正確包含該檔案
|
||||
COPY scripts/docker-entrypoint.sh /docker-entrypoint.sh
|
||||
RUN chmod +x /docker-entrypoint.sh
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
CMD ["nginx", "-g", "daemon off;"]
|
||||
17
scripts/11.build-image.bat
Normal file
17
scripts/11.build-image.bat
Normal file
@ -0,0 +1,17 @@
|
||||
@echo off
|
||||
cd /d "%~dp0"
|
||||
setlocal enabledelayedexpansion
|
||||
|
||||
REM === 讀取版本(手動管理)================
|
||||
REM 注意:版本號請手動更新於 scripts\version.txt(或直接編輯此目錄下的 version.txt),
|
||||
REM 本腳本不再自動遞增版本,避免 build 時自動變動 tag。
|
||||
set /p VERSION=<version.txt
|
||||
REM ====================================
|
||||
|
||||
REM === 參數 ===========================
|
||||
set IMAGE_NAME=cvilux-fe
|
||||
REM ====================================
|
||||
|
||||
REM === 流程 ===========================
|
||||
docker rmi %IMAGE_NAME%:%VERSION%
|
||||
docker build --no-cache -f ../Dockerfile -t %IMAGE_NAME%:%VERSION% ../
|
||||
@ -15,8 +15,6 @@ REM ====================================
|
||||
REM === 流程 ===========================
|
||||
docker login %REMOTE_URL%
|
||||
docker tag %IMAGE_NAME%:%VERSION% %REMOTE_URL%/%REMOTE_REPO%:%VERSION%
|
||||
docker tag %IMAGE_NAME%:%VERSION% %REMOTE_URL%/%REMOTE_REPO%:latest
|
||||
docker push %REMOTE_URL%/%REMOTE_REPO%:%VERSION%
|
||||
docker push %REMOTE_URL%/%REMOTE_REPO%:latest
|
||||
echo Done.
|
||||
pause
|
||||
@ -3,7 +3,8 @@ cd /d "%~dp0"
|
||||
setlocal enabledelayedexpansion
|
||||
|
||||
REM === 讀取版本 ========================
|
||||
call version-inc.bat time
|
||||
rem 每次執行僅遞增 patch(不加時間戳)
|
||||
call version-inc.bat inc
|
||||
set /p VERSION=<version.txt
|
||||
REM ====================================
|
||||
|
||||
@ -12,5 +13,8 @@ set IMAGE_NAME=cvilux-fe
|
||||
REM ====================================
|
||||
|
||||
REM === 流程 ===========================
|
||||
docker rmi %IMAGE_NAME%:%VERSION%
|
||||
docker build --no-cache -f ../Dockerfile -t %IMAGE_NAME%:%VERSION% ../
|
||||
REM 嘗試刪除同名影像,若不存在則顯示訊息並繼續
|
||||
docker rmi %IMAGE_NAME%:%VERSION% 2>nul || echo Image %IMAGE_NAME%:%VERSION% not found, continuing...
|
||||
|
||||
REM Dockerfile 在專案根目錄(scripts 在 src\scripts),所以要向上兩層
|
||||
docker build --no-cache -f ..\..\Dockerfile -t %IMAGE_NAME%:%VERSION% ..\..\
|
||||
@ -1,69 +0,0 @@
|
||||
@echo off
|
||||
setlocal enabledelayedexpansion
|
||||
|
||||
:: 檢查輸入參數
|
||||
if "%~1"=="" (
|
||||
echo 使用方式: version-inc.bat [inc ^| time ^| major]
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
:: 讀版本號(移除前後空白)
|
||||
set /p VERSION=<version.txt
|
||||
for /f "tokens=* delims= " %%v in ("%VERSION%") do set VERSION=%%v
|
||||
echo Current version: %VERSION%
|
||||
|
||||
:: 拆字串(主.次.修訂)
|
||||
for /f "tokens=1,2,3 delims=.-" %%a in ("%VERSION%") do (
|
||||
set MAJOR=%%a
|
||||
set MINOR=%%b
|
||||
set PATCH=%%c
|
||||
)
|
||||
|
||||
:: inc 模式:遞增 patch,不動 minor
|
||||
if /i "%~1"=="inc" (
|
||||
set /a PATCH=!PATCH!+1
|
||||
set VERSION=!MAJOR!.!MINOR!.!PATCH!
|
||||
)
|
||||
|
||||
:: time 模式:遞增 patch,並加上 -time
|
||||
:: time 模式:加上時間戳
|
||||
if /i "%~1"=="time" (
|
||||
set /a PATCH=!PATCH!+1
|
||||
|
||||
rem ---- 抽取數字日期 (YYMMDD) ----
|
||||
set "RAW_DATE=%date%"
|
||||
set "NUM_DATE="
|
||||
for /l %%i in (0,1,19) do (
|
||||
set "ch=!RAW_DATE:~%%i,1!"
|
||||
for %%c in (0 1 2 3 4 5 6 7 8 9) do if "!ch!"=="%%c" set "NUM_DATE=!NUM_DATE!!ch!"
|
||||
)
|
||||
rem 只取最後6位 (YYMMDD)
|
||||
set "YYMMDD=!NUM_DATE:~-6!"
|
||||
|
||||
rem ---- 抽取時間數字 (HHMM) ----
|
||||
set "RAW_TIME=%time%"
|
||||
set "NUM_TIME="
|
||||
for /l %%i in (0,1,19) do (
|
||||
set "ch=!RAW_TIME:~%%i,1!"
|
||||
for %%c in (0 1 2 3 4 5 6 7 8 9) do if "!ch!"=="%%c" set "NUM_TIME=!NUM_TIME!!ch!"
|
||||
)
|
||||
rem 只取前4位 (HHMM)
|
||||
set "HHMM=!NUM_TIME:~0,4!"
|
||||
|
||||
rem ---- 組合完整時間戳 ----
|
||||
set "DT=!YYMMDD!!HHMM!"
|
||||
set VERSION=!MAJOR!.!MINOR!.!PATCH!-!DT!
|
||||
)
|
||||
|
||||
:: major 模式:遞增 major,不動 minor 和 patch
|
||||
if /i "%~1"=="major" (
|
||||
set /a MAJOR=!MAJOR!+1
|
||||
set VERSION=!MAJOR!.!MINOR!.!PATCH!
|
||||
)
|
||||
|
||||
echo New version: %VERSION%
|
||||
|
||||
:: 寫回檔案
|
||||
>version.txt echo %VERSION%
|
||||
|
||||
endlocal
|
||||
Loading…
Reference in New Issue
Block a user