- 移除未使用的YAML锚点定义 - 替换commands字段中的锚点引用为实际值 - 移除有问题的通知步骤 - 修复测试文件中的问题 - 添加新的测试用例和配置文件
This commit is contained in:
@@ -0,0 +1,83 @@
|
||||
#!/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 "========================================="
|
||||
Reference in New Issue
Block a user