Files
novalon-website/scripts/setup-gitea-oauth2-auto.sh
张翔 ebaa7f3c50
ci/woodpecker/manual/woodpecker Pipeline was successful
fix: 修复Woodpecker CI配置文件中的linter错误
- 移除未使用的YAML锚点定义
- 替换commands字段中的锚点引用为实际值
- 移除有问题的通知步骤
- 修复测试文件中的问题
- 添加新的测试用例和配置文件
2026-03-28 09:42:45 +08:00

84 lines
2.7 KiB
Bash

#!/bin/bash
echo "========================================="
echo "Gitea OAuth2应用自动配置"
echo "========================================="
echo ""
echo "步骤1: 生成管理员Access Token..."
# 使用正确的scope (all包含所有权限)
OUTPUT=$(docker exec -u git forgejo gitea admin user generate-access-token \
--username novalon-admin \
--token-name oauth2-setup-$(date +%s) \
--scopes all 2>&1)
echo "$OUTPUT"
# 从输出中提取token
TOKEN=$(echo "$OUTPUT" | grep -oP 'Access token: \K.*' || echo "")
echo ""
echo "步骤2: 使用Token创建OAuth2应用..."
if [ -n "$TOKEN" ]; then
echo "Token已生成: ${TOKEN:0:20}..."
# 使用API创建OAuth2应用
RESPONSE=$(docker exec forgejo curl -s -X POST "http://localhost:3000/api/v1/applications/oauth2" \
-H "Authorization: token $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Woodpecker CI",
"redirect_uri": "https://ci.f.novalon.cn/authorize",
"confidential_client": true
}')
echo "API响应: $RESPONSE"
# 提取Client ID和Secret
CLIENT_ID=$(echo "$RESPONSE" | grep -oP '"client_id":"\K[^"]+' || echo "")
CLIENT_SECRET=$(echo "$RESPONSE" | grep -oP '"client_secret":"\K[^"]+' || echo "")
if [ -n "$CLIENT_ID" ] && [ -n "$CLIENT_SECRET" ]; then
echo ""
echo "========================================="
echo "✅ OAuth2应用创建成功!"
echo "========================================="
echo ""
echo "Client ID: $CLIENT_ID"
echo "Client Secret: $CLIENT_SECRET"
echo ""
echo "请将以下内容添加到.env文件:"
echo "WOODPECKER_FORGEJO_CLIENT=$CLIENT_ID"
echo "WOODPECKER_FORGEJO_SECRET=$CLIENT_SECRET"
echo ""
echo "然后重启Woodpecker服务:"
echo "cd /home/novalon/docker-app/novalon-cicd"
echo "docker-compose restart woodpecker-server"
echo "========================================="
exit 0
else
echo "警告: 无法从API响应中提取凭证"
fi
else
echo "警告: 无法生成Token"
fi
echo ""
echo "========================================="
echo "⚠️ 自动配置失败,请手动完成"
echo "========================================="
echo ""
echo "1. 访问 https://git.f.novalon.cn"
echo "2. 登录凭证:"
echo " 用户名: novalon-admin"
echo " 密码: Novalon@Admin2026"
echo ""
echo "3. 创建OAuth2应用:"
echo " 头像 -> 设置 -> 应用 -> OAuth2应用 -> 创建应用"
echo " 名称: Woodpecker CI"
echo " 重定向URI: https://ci.f.novalon.cn/authorize"
echo ""
echo "4. 记录Client ID和Secret并更新.env文件"
echo "========================================="