|
|
4 weeks ago | |
|---|---|---|
| app | 4 weeks ago | |
| tests | 4 weeks ago | |
| .env.example | 4 weeks ago | |
| .gitignore | 4 weeks ago | |
| README.md | 4 weeks ago | |
| requirements.txt | 4 weeks ago | |
| 轻量级数据中台 (Data-Hub) 实现方案设计文档.md | 4 weeks ago |
基于 Git Webhook 的自动化数据归集系统,实现代码仓库产出数据的自动提取、版本化存储和统一管理。
pip install -r requirements.txt
编辑 .env 文件:
# 数据库
DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASSWORD=your_password
DB_NAME=data_nexus
# Gogs
GOGS_URL=https://your-gogs-server.com
GOGS_TOKEN=your_access_token
GOGS_SECRET=optional_webhook_secret
# 存储
STORAGE_ROOT=./storage
uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
在 Gogs 仓库设置中添加 Webhook:
http://your-server:8000/webhookapplication/json在仓库根目录创建 manifest.yaml:
project_name: "my_project"
stages:
- name: "data_collection"
outputs:
- path: "./results/"
pattern: "*.csv"
- path: "./report.pdf"
| 接口 | 方法 | 说明 |
|---|---|---|
/webhook |
POST | 接收 Gogs Webhook |
/projects |
GET | 列出所有项目 |
/projects/{id}/versions |
GET | 列出项目版本 |
/versions/{id}/files |
GET | 获取版本文件树 |
/files/{id}/content |
GET | 下载文件内容 |
详细设计请参阅 实现方案设计文档