8422645625
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>
36 lines
897 B
Docker
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"]
|