本目录包含 LibACG 项目的 Cloud Native Build (CNB) 配置,用于定义云原生开发环境和部署流程。
.cnb/ ├── README.md # 本文件 ├── cnb.yaml # CNB 工作区主配置 ├── build.yaml # 构建流程配置 ├── deploy.yaml # 部署流程配置 ├── runtime.yaml # 运行时环境配置 ├── tasks.yaml # 任务定义 ├── devcontainer.json # 开发容器配置 ├── plugin-registry.yaml # 插件注册表 └── scripts/ # 辅助脚本 ├── setup-dev.sh # 开发环境初始化 └── start-services.sh # 服务启动脚本
# 初始化开发环境
make setup
# 启动开发服务器
make dev
# 运行测试
make test
# 构建 Docker 镜像
make build-docker
# 查看所有可用命令
make help
# 安装依赖
uv sync --all-packages
# 启动 Server
uv run acg-server start --reload
# 启动 Worker
LIBACG_MODE=worker uv run python -m libacg_worker
# 运行测试
uv run pytest
# 启动所有服务
docker-compose up -d
# 查看日志
docker-compose logs -f
# 停止服务
docker-compose down
定义项目的核心配置:
定义 CI/CD 构建流程:
定义多环境部署策略:
定义不同运行模式的配置:
定义可用的任务:
VS Code 开发容器配置:
定义可用的插件:
| 变量名 | 说明 | 默认值 |
|---|---|---|
LIBACG_LOG_LEVEL | 日志级别 | INFO |
PYTHONPATH | Python 路径 | /app |
| 变量名 | 说明 | 默认值 |
|---|---|---|
LIBACG_DATA_DIR | 数据目录 | /data |
LIBACG_SERVER_HOST | 监听地址 | 0.0.0.0 |
LIBACG_SERVER_PORT | 监听端口 | 8080 |
| 变量名 | 说明 | 默认值 |
|---|---|---|
LIBACG_MODE | 运行模式 | worker |
LIBACG_SERVER_URL | Server 地址 | http://localhost:8080 |
LIBACG_WORKER_ID | Worker ID | worker-001 |
LIBACG_WORKER_TAGS | Worker 标签 | generic |
LIBACG_WORKER_PLUGINS | 加载的插件 | libacg_unrar |
| 变量名 | 说明 | 默认值 |
|---|---|---|
LIBACG_MODE | 运行模式 | standalone |
LIBACG_JOB_FILE | Job 文件路径 | /data/job.yaml |
LIBACG_INPUT_DIR | 输入目录 | /input |
LIBACG_OUTPUT_DIR | 输出目录 | /output |
LibACG 采用四层架构设计:
┌─────────────────────────────────────────┐ │ Layer 4: Job (编排层) │ │ - YAML 定义任务流水线 │ │ - Stage 依赖关系 (DAG) │ ├─────────────────────────────────────────┤ │ Layer 3: Server (调度层) │ │ - FastAPI 服务 │ │ - 任务调度和分发 │ ├─────────────────────────────────────────┤ │ Layer 2: Worker (执行层) │ │ - 插件加载和执行 │ │ - 支持 Worker/Standalone 双模式 │ ├─────────────────────────────────────────┤ │ Layer 1: Plugin (功能层) │ │ - FFmpeg 视频处理 │ │ - LibJXL 图片转码 │ │ - UnRAR 压缩包解压 │ └─────────────────────────────────────────┘
MIT License