Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ed12823df3 | |||
| 6197bbe690 | |||
| 4a748313d2 | |||
| caca2c9a91 | |||
| c898b47a72 | |||
| 43a5d0f077 |
@@ -1,10 +1,11 @@
|
|||||||
|
name: CD
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
jobs:
|
jobs:
|
||||||
version:
|
version:
|
||||||
name: "CD > 計算版本號"
|
name: 計算版本號
|
||||||
runs-on: ubuntu
|
runs-on: ubuntu
|
||||||
outputs:
|
outputs:
|
||||||
version: ${{ steps.version.outputs.version }}
|
version: ${{ steps.version.outputs.version }}
|
||||||
@@ -13,7 +14,7 @@ jobs:
|
|||||||
id: version
|
id: version
|
||||||
uses: https://gitea.jsc.idv.tw/actions/calculate-version@${{ vars.ACTION_CALCULATE_VERSION }}
|
uses: https://gitea.jsc.idv.tw/actions/calculate-version@${{ vars.ACTION_CALCULATE_VERSION }}
|
||||||
release:
|
release:
|
||||||
name: "CD > 發布專案"
|
name: 發布專案
|
||||||
runs-on: ubuntu
|
runs-on: ubuntu
|
||||||
needs: version
|
needs: version
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
@@ -0,0 +1,19 @@
|
|||||||
|
name: AI
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
types: [opened, synchronize]
|
||||||
|
jobs:
|
||||||
|
code-review:
|
||||||
|
name: Code Review
|
||||||
|
runs-on: ubuntu
|
||||||
|
steps:
|
||||||
|
- name: AI Code Review
|
||||||
|
uses: https://gitea.jsc.idv.tw/actions/code-review@${{ vars.ACTION_CODE_REVIEW_VERSION }}
|
||||||
|
with:
|
||||||
|
GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }},${{ secrets.GEMINI_API_KEY_1 }},${{ secrets.GEMINI_API_KEY_2 }},${{ secrets.GEMINI_API_KEY_3 }},${{ secrets.GEMINI_API_KEY_4 }},${{ secrets.GEMINI_API_KEY_5 }},${{ secrets.GEMINI_API_KEY_6 }},${{ secrets.GEMINI_API_KEY_7 }},${{ secrets.GEMINI_API_KEY_8 }},${{ secrets.GEMINI_API_KEY_9 }},${{ secrets.GEMINI_API_KEY_10 }},${{ secrets.GEMINI_API_KEY_11 }},${{ secrets.GEMINI_API_KEY_12 }},${{ secrets.GEMINI_API_KEY_13 }},${{ secrets.GEMINI_API_KEY_14 }},${{ secrets.GEMINI_API_KEY_15 }},${{ secrets.GEMINI_API_KEY_16 }},${{ secrets.GEMINI_API_KEY_17 }},${{ secrets.GEMINI_API_KEY_18 }},${{ secrets.GEMINI_API_KEY_19 }}
|
||||||
|
GEMINI_BASE_URL: https://generativelanguage.googleapis.com/v1beta
|
||||||
|
GEMINI_MODEL: ${{ vars.GEMINI_MODEL }}
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
pull-requests: write
|
||||||
|
issues: write
|
||||||
+2
-2
@@ -7,8 +7,8 @@ RUN apt update \
|
|||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# 複製私人證書到容器中
|
# 複製私人證書到容器中
|
||||||
COPY ./JSC.Downloader/rootCA.pem /usr/local/share/ca-certificates/rootCA.crt
|
COPY rootCA.pem /usr/local/share/ca-certificates/rootCA.crt
|
||||||
COPY ./JSC.Downloader/jsc.idv.me+4.pem /usr/local/share/ca-certificates/jsc.idv.me+4.crt
|
COPY jsc.idv.me+4.pem /usr/local/share/ca-certificates/jsc.idv.me+4.crt
|
||||||
|
|
||||||
# 複製入口腳本到容器中
|
# 複製入口腳本到容器中
|
||||||
COPY entrypoint.sh /entrypoint.sh
|
COPY entrypoint.sh /entrypoint.sh
|
||||||
|
|||||||
@@ -8,6 +8,9 @@ inputs:
|
|||||||
HEALTH_CODE:
|
HEALTH_CODE:
|
||||||
description: '健康碼'
|
description: '健康碼'
|
||||||
default: '200'
|
default: '200'
|
||||||
|
outputs:
|
||||||
|
status_code:
|
||||||
|
description: '服務的狀態碼'
|
||||||
runs:
|
runs:
|
||||||
using: 'docker'
|
using: 'docker'
|
||||||
image: 'Dockerfile'
|
image: 'Dockerfile'
|
||||||
|
|||||||
+12
-6
@@ -1,5 +1,14 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
# 當 GitHub Actions 手動取消 workflow 時,Runner 會對容器送出終止訊號。
|
||||||
|
# 透過 trap 可在收到訊號時立即退出,避免無限迴圈持續重試。
|
||||||
|
on_terminate() {
|
||||||
|
echo "[$(date -u +"%Y-%m-%dT%H:%M:%SZ")] 收到取消訊號,停止健康檢查。"
|
||||||
|
exit 130
|
||||||
|
}
|
||||||
|
|
||||||
|
trap on_terminate TERM INT
|
||||||
|
|
||||||
echo "=================================================="
|
echo "=================================================="
|
||||||
|
|
||||||
echo "參數檢查"
|
echo "參數檢查"
|
||||||
@@ -25,16 +34,13 @@ while true; do
|
|||||||
# 使用 curl 取得狀態碼,最長等待 60 秒,並將結果輸出到環境變數 STATUS_CODE
|
# 使用 curl 取得狀態碼,最長等待 60 秒,並將結果輸出到環境變數 STATUS_CODE
|
||||||
STATUS_CODE=$(curl -s --max-time 60 -o /dev/null -w "%{http_code}" "$CHECK_URL")
|
STATUS_CODE=$(curl -s --max-time 60 -o /dev/null -w "%{http_code}" "$CHECK_URL")
|
||||||
|
|
||||||
echo "$STATUS_CODE" && [ "$STATUS_CODE" != "000" ] && break
|
echo "$STATUS_CODE" && [ "$STATUS_CODE" == "$HEALTH_CODE" ] && break
|
||||||
|
|
||||||
# 如果狀態碼為 "000",表示連線失敗,等待 60 秒後重試
|
# 如果狀態碼為 "000",表示連線失敗,等待 60 秒後重試
|
||||||
sleep 60
|
sleep 60
|
||||||
done
|
done
|
||||||
|
|
||||||
|
echo "=================================================="
|
||||||
|
|
||||||
# 將狀態碼輸出到環境變數
|
# 將狀態碼輸出到環境變數
|
||||||
echo "status_code=$STATUS_CODE" >> "$GITHUB_OUTPUT"
|
echo "status_code=$STATUS_CODE" >> "$GITHUB_OUTPUT"
|
||||||
|
|
||||||
# 檢查狀態碼是否正確
|
|
||||||
[ "$STATUS_CODE" = "$HEALTH_CODE" ] && exit 0 || exit 1
|
|
||||||
|
|
||||||
echo "=================================================="
|
|
||||||
Reference in New Issue
Block a user