ebaa7f3c50
ci/woodpecker/manual/woodpecker Pipeline was successful
- 移除未使用的YAML锚点定义 - 替换commands字段中的锚点引用为实际值 - 移除有问题的通知步骤 - 修复测试文件中的问题 - 添加新的测试用例和配置文件
61 lines
1.9 KiB
Bash
61 lines
1.9 KiB
Bash
#!/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 "========================================="
|