Files
monkeycode-ai 8422645625 feat: 完成第四批任务 (Task 6.2, 10.1-10.3)
Task 6.2 - 报告导出功能:
- ReportExportService: 报告导出服务
- ExportToMarkdown: Markdown 格式导出
- ExportToHtml: HTML 格式导出(可打印为 PDF)
- ExportToPdf: PDF 导出(HTML 包装)

Task 10.1-10.3 - 文档和打包:
- README.md: 项目主文档
- docs/USAGE.md: 使用指南(CLI 命令、API、Web 界面)
- docs/DEVELOPMENT.md: 开发指南(项目结构、构建、测试、部署)
- docs/API.md: API 参考文档(端点、认证、错误码)
- Dockerfile: Web API Docker 镜像
- docker-compose.yml: Docker Compose 配置
- .dockerignore: Docker 忽略文件
- NuGet 打包配置 (CodePlay.Core.csproj)

测试:42 个 (41 通过,1 跳过) 

新增文件:
- CodePlay.Core/Services/ReportExportService.cs
- README.md
- docs/USAGE.md
- docs/DEVELOPMENT.md
- docs/API.md
- Dockerfile
- docker-compose.yml
- .dockerignore
Co-authored-by: monkeycode-ai <monkeycode-ai@chaitin.com>
2026-06-04 00:54:23 +00:00

36 lines
897 B
Docker

# CodePlay Web API Docker 镜像
FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /src
# 复制项目文件
COPY ["CodePlay.WebAPI/CodePlay.WebAPI.csproj", "CodePlay.WebAPI/"]
COPY ["CodePlay.Core/CodePlay.Core.csproj", "CodePlay.Core/"]
COPY ["CodePlay.Persistence/CodePlay.Persistence.csproj", "CodePlay.Persistence/"]
# 还原依赖
RUN dotnet restore "CodePlay.WebAPI/CodePlay.WebAPI.csproj"
# 复制源代码
COPY . .
WORKDIR "/src/CodePlay.WebAPI"
# 构建
RUN dotnet build "CodePlay.WebAPI.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "CodePlay.WebAPI.csproj" -c Release -o /app/publish /p:UseAppHost=false
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
# 创建日志目录
RUN mkdir -p /app/logs
ENTRYPOINT ["dotnet", "CodePlay.WebAPI.dll"]