Files
momentry_studio/setup-gitea-ci.sh
Momentry Studio cb7e1ba0ba fix: resolve TypeScript compilation errors
Fixes:
- VideoPlayer.vue: restore allTags, filteredMarks, marksByTag (removed by mistake)
- PeopleView.vue: fix frameTime scope in playFaceDetailVideo catch block
- Both errors caused white screen on build failure

Root cause:
1. visibleTags duplicate declaration (old + new logic)
2. frameTime undefined in catch block (scope issue)

Solution:
1. Keep allTags/filteredMarks/marksByTag (needed in template)
2. Keep visibleTags (new logic for processor toggles)
3. Move frameTime calculation to correct scope in catch block
2026-07-24 23:33:40 +08:00

74 lines
2.3 KiB
Bash
Executable File

#!/bin/bash
set -e
GITEA_URL="http://localhost:3000"
REPO_NAME="momentry_studio"
echo "========================================="
echo " 設定 Gitea CI/CD"
echo "========================================="
# 檢查 Token
if [ -z "$LOCAL_GITEA_TOKEN" ]; then
echo "❌ 請先設定 LOCAL_GITEA_TOKEN"
echo " export LOCAL_GITEA_TOKEN=\"your-token\""
exit 1
fi
echo "✅ Token 已設定"
# 1. 建立倉庫
echo ""
echo "📁 Step 1: 建立 Gitea 倉庫..."
REPO_EXISTS=$(curl -s -H "Authorization: token $LOCAL_GITEA_TOKEN" "$GITEA_URL/api/v1/repos/admin/$REPO_NAME" 2>/dev/null | python3 -c "import sys,json; d=json.load(sys.stdin); print(d.get('id',''))" 2>/dev/null || echo "")
if [ -z "$REPO_EXISTS" ]; then
curl -s -X POST "$GITEA_URL/api/v1/user/repos" \
-H "Authorization: token $LOCAL_GITEA_TOKEN" \
-H "Content-Type: application/json" \
-d "{\"name\":\"$REPO_NAME\",\"private\":false,\"auto_init\":false}"
echo "✅ 倉庫已建立"
else
echo "倉庫已存在"
fi
# 2. 設定 Git 遠端
echo ""
echo "🔗 Step 2: 設定 Git 遠端..."
git remote remove gitea 2>/dev/null || true
git remote add gitea "$GITEA_URL/admin/$REPO_NAME.git"
echo "✅ 遠端已設定"
# 3. 推送程式碼
echo ""
echo "📤 Step 3: 推送程式碼..."
git push -u gitea main -f 2>&1 | tail -3
echo "✅ 程式碼已推送"
# 4. 建立 Webhook
echo ""
echo "🔔 Step 4: 建立 Webhook..."
curl -s -X POST "$GITEA_URL/api/v1/repos/admin/$REPO_NAME/hooks" \
-H "Authorization: token $LOCAL_GITEA_TOKEN" \
-H "Content-Type: application/json" \
-d "{
\"type\": \"gitea\",
\"active\": true,
\"config\": {
\"content_type\": \"json\",
\"url\": \"http://localhost:8080/webhook\",
\"is_insecure_ssl\": false
},
\"events\": [\"push\"]
}" 2>/dev/null | python3 -c "import sys,json; d=json.load(sys.stdin); print(f'Webhook ID: {d.get(\"id\",\"?\")}' 2>/dev/null || echo 'Webhook 建立失敗')" || echo "Webhook 需要 CI Server"
echo ""
echo "========================================="
echo " ✅ Gitea CI/CD 設定完成"
echo "========================================="
echo ""
echo "倉庫網址: $GITEA_URL/admin/$REPO_NAME"
echo ""
echo "手動觸發 CI/CD:"
echo " ./ci-cd.sh"