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

61 lines
1.9 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
echo "========================================="
echo "Gitea SSO集成配置脚本"
echo "========================================="
echo ""
echo "步骤1: 创建Gitea管理员账户..."
# 创建管理员账户(使用novalon-admin而不是admin
docker exec -u git forgejo gitea admin user create \
--username novalon-admin \
--password Novalon@Admin2026 \
--email admin@novalon.cn \
--admin \
--must-change-password=false
echo ""
echo "步骤2: 创建Woodpecker CI OAuth2应用..."
# 使用Gitea API创建OAuth2应用
# 首先获取管理员token
TOKEN=$(docker exec -u git forgejo gitea admin user generate-access-token \
--username novalon-admin \
--token-name woodpecker-setup \
--scopes write:application,read:application 2>&1 | grep -oP 'Access token: \K.*')
echo "管理员Token: $TOKEN"
# 使用API创建OAuth2应用
RESPONSE=$(curl -s -X POST "http://localhost:3001/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"
}')
echo "OAuth2应用创建响应: $RESPONSE"
# 提取Client ID和Secret
CLIENT_ID=$(echo "$RESPONSE" | grep -oP '"client_id":"\K[^"]+')
CLIENT_SECRET=$(echo "$RESPONSE" | grep -oP '"client_secret":"\K[^"]+')
echo ""
echo "========================================="
echo "配置完成!"
echo "========================================="
echo ""
echo "管理员账户:"
echo " 用户名: novalon-admin"
echo " 密码: Novalon@Admin2026"
echo " 邮箱: admin@novalon.cn"
echo ""
echo "OAuth2凭证:"
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 "========================================="