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
74 lines
2.3 KiB
Bash
Executable File
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"
|