first commit
All checks were successful
/ CD > 計算版本號 (push) Successful in 1s
/ CD > 發布專案 (push) Successful in 3s

This commit is contained in:
2026-03-25 21:35:31 +08:00
commit 70af90cce6
4 changed files with 80 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
on:
push:
branches:
- master
jobs:
version:
name: "CD > 計算版本號"
runs-on: ubuntu
outputs:
version: ${{ steps.version.outputs.version }}
steps:
- name: 計算版本號
id: version
uses: https://gitea.jsc.idv.tw/actions/calculate-version@${{ vars.ACTION_CALCULATE_VERSION }}
release:
name: "CD > 發布專案"
runs-on: ubuntu
needs: version
steps:
- name: 發布專案
uses: akkuman/gitea-release-action@${{ vars.ACTION_RELEASE_VERSION }}
with:
tag_name: "v${{ needs.version.outputs.version }}"
- name: 清理成品
uses: https://gitea.jsc.idv.tw/actions/cleanup-release@${{ vars.ACTION_CLEANUP_RELEASE_VERSION }}
with:
RUNNER_TOKEN: ${{ secrets.RUNNER_TOKEN }}

10
Dockerfile Normal file
View File

@@ -0,0 +1,10 @@
FROM alpine:latest
# 安裝必要的工具
RUN apk add --no-cache --no-check-certificate bash curl
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]

16
action.yaml Normal file
View File

@@ -0,0 +1,16 @@
name: 'HEALTH CHECK'
description: '檢查服務健康狀態'
author: 'Jeffery'
inputs:
CHECK_URL:
description: '檢查URL'
required: true
HEALTH_CODE:
description: '健康碼'
default: '200'
runs:
using: 'docker'
image: 'Dockerfile'
env:
CHECK_URL: ${{ inputs.CHECK_URL }}
HEALTH_CODE: ${{ inputs.HEALTH_CODE }}

27
entrypoint.sh Normal file
View File

@@ -0,0 +1,27 @@
#!/bin/bash
echo "=================================================="
echo "參數檢查"
echo "--------------------------------------------------"
# 顯示 CHECK_URL 參數,並檢查是否為空或 "null",如果是則輸出錯誤訊息並退出
echo "CHECK_URL=$CHECK_URL" && ([ -z "$CHECK_URL" ] || [ "$CHECK_URL" = "null" ]) && exit 1
# 顯示 HEALTH_CODE 參數,並檢查是否為空或 "null",如果是則輸出錯誤訊息並退出
echo "HEALTH_CODE=$HEALTH_CODE" && ([ -z "$HEALTH_CODE" ] || [ "$HEALTH_CODE" = "null" ]) && exit 1
echo "=================================================="
echo "取得狀態碼"
echo "--------------------------------------------------"
# 使用 curl 從 CHECK_URL 取得狀態碼,並將結果存儲在 STATUS_CODE 變數中
STATUS_CODE=$(curl -s -o /dev/null -w "%{http_code}" "$CHECK_URL") && echo "STATUS_CODE=$STATUS_CODE"
# 將狀態碼輸出到環境變數
echo "status_code=$STATUS_CODE" >> $GITHUB_OUTPUT
echo "=================================================="