Files
release-cleanup/entrypoint.sh
T
JefferyandClaude Opus 4.8 9d8cbb6f1c
CI / Release Tag Version (pull_request) Successful in 29s
CI / Release Cleanup (pull_request) Successful in 3s
docs(release-cleanup): 修正 ci.yaml 過時用途註解並更新 entrypoint.sh 產生時間戳
- ci.yaml:開頭用途註解改為描述實際的 release-tag-version(beta) + release-cleanup 自我清理管線(邏輯不變)
- entrypoint.sh:更新產生時間戳為 2026/06/30 18:19:59

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 18:29:03 +08:00

41 lines
2.2 KiB
Bash
Executable File

#!/usr/bin/env sh
# =============================================================================
# 此指令檔的用途:
# 本檔為 Release Cleanup action 的容器啟動腳本(container entrypoint)。
# 啟動時先輸出一段橫幅,顯示 action 名稱/用途/更新時間,方便在 CI/CD log
# 中辨識正在執行哪一個 action 及其版本;接著以 exec 啟動 node 主程式
# /app/index.js,並把所有外部傳入的參數原樣交給它。
#
# 更新日期(台灣時區):2026/06/30 18:19:59
# =============================================================================
# 啟用「遇到任何指令失敗(非 0 結束碼)即立刻中止腳本」的模式。
# 用於避免前置步驟失敗後仍繼續往下執行,確保啟動失敗能正確反映成非 0 exit code。
set -e
# action 顯示名稱,供下方橫幅輸出使用。
ACTION_NAME='Release Cleanup'
# action 用途說明,供下方橫幅輸出使用。
ACTION_DESC='清理舊成品'
# action 更新時間(固定字串,台灣時區),供下方橫幅輸出使用。
ACTION_UPDATED='2026/06/30 18:19:59'
# 輸出一個空行 + 分隔線,作為橫幅的上邊框,讓 log 中的資訊區塊更易閱讀。
printf '\n%s\n' '=================================================='
# 輸出 action 名稱;以 "$ACTION_NAME" 帶引號傳入,避免變數內容被分詞或萬用字元展開。
printf '名稱 : %s\n' "$ACTION_NAME"
# 輸出 action 用途;同樣以帶引號變數傳入確保字串完整。
printf '用途 : %s\n' "$ACTION_DESC"
# 輸出 action 更新時間;同樣以帶引號變數傳入確保字串完整。
printf '更新 : %s\n' "$ACTION_UPDATED"
# 輸出分隔線,作為橫幅的下邊框。
printf '%s\n' '=================================================='
# 以 exec 啟動 node 主程式:exec 會用 node 行程「取代」目前的 shell 行程,
# 而非另開子行程。如此可讓 node 成為 PID 1(或直接承接原 shell 的 PID),
# 正確接收容器傳來的訊號(例如 SIGTERM/SIGINT)以利優雅關閉,
# 並讓 node 的結束碼直接成為容器的結束碼。
# "$@" 將腳本收到的所有參數原樣(逐一保留分隔,避免被重新分詞)轉交給 node 主程式。
exec node /app/index.js "$@"