添加打包脚本和dockerfile

This commit is contained in:
cli 2025-04-27 14:09:58 +08:00
parent edf92c8940
commit 496ae0c797
2 changed files with 13 additions and 37 deletions

View File

@ -1,27 +1,3 @@
# FROM mcr.microsoft.com/dotnet/aspnet:8.0
# # 创建目录
# RUN mkdir /app
# COPY publish /app
# # 设置工作目录
# WORKDIR /app
# # 暴露80端口
# EXPOSE 80
# # 设置时区 .net6 才有这个问题
# ENV TZ=Asia/Shanghai
# # 设置环境变量
# ENV ASPNETCORE_ENVIRONMENT=Production
# ENTRYPOINT ["dotnet", "JiShe.IOT.HttpApi.Host.dll"]
FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base
WORKDIR /app
EXPOSE 80
@ -30,7 +6,7 @@ ENV TZ=Asia/Shanghai
ENV ASPNETCORE_ENVIRONMENT=Production
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /src
# WORKDIR /src
COPY ["JiShe.CollectBus.sln", "."]
COPY ["common.props", "."]
COPY ["NuGet.Config", "."]
@ -44,7 +20,7 @@ COPY ["protocols/", "protocols/"]
RUN dotnet restore "JiShe.CollectBus.sln"
# 构建项目
WORKDIR "/src/web/JiShe.CollectBus.Host"
WORKDIR "/web/JiShe.CollectBus.Host"
RUN dotnet build "JiShe.CollectBus.Host.csproj" -c Release -o /app/build
# 发布项目
@ -53,6 +29,7 @@ RUN dotnet publish "JiShe.CollectBus.Host.csproj" -c Release -o /app/publish /p:
# 创建最终镜像
FROM base AS final
WORKDIR /app
# 创建Plugins目录

View File

@ -5,6 +5,7 @@ set VERSION=1.0.0
set CONFIGURATION=Release
set OUTPUT_DIR=%~dp0\nupkgs
set API_KEY=your-nuget-api-key
set SOURCE=https://api.nuget.org/v3/index.json
REM 创建输出目录
if not exist "%OUTPUT_DIR%" mkdir "%OUTPUT_DIR%"
@ -22,11 +23,10 @@ echo 开始打包项目...
REM 打包 Protocol 项目
echo 打包 Protocol 项目...
call :PackProject protocols\JiShe.CollectBus.Protocol\JiShe.CollectBus.Protocol.csproj
call :
protocols\JiShe.CollectBus.Protocol\JiShe.CollectBus.Protocol.csproj
call :PackProject protocols\JiShe.CollectBus.Protocol.Contracts\JiShe.CollectBus.Protocol.Contracts.csproj
call :PackProject protocols\JiShe.CollectBus.Protocol.T1882018\JiShe.CollectBus.Protocol.T1882018.csproj
call :PackProject protocols\JiShe.CollectBus.Protocol.T37612012\JiShe.CollectBus.Protocol.T37612012.csproj
call :PackProject protocols\JiShe.CollectBus.Protocol.T6452007\JiShe.CollectBus.Protocol.T6452007.csproj
REM 打包 Modules 项目
echo 打包 Modules 项目...
@ -36,7 +36,6 @@ call :PackProject modules\JiShe.CollectBus.IoTDB\JiShe.CollectBus.IoTDB.csproj
call :PackProject modules\JiShe.CollectBus.MongoDB\JiShe.CollectBus.MongoDB.csproj
call :PackProject modules\JiShe.CollectBus.FreeSql\JiShe.CollectBus.FreeSql.csproj
call :PackProject modules\JiShe.CollectBus.Cassandra\JiShe.CollectBus.Cassandra.csproj
call :PackProject modules\JiShe.CollectBusMultiProcessing\JiShe.CollectBusMultiProcessing.csproj
REM 打包 Shared 项目
echo 打包 Shared 项目...
@ -44,11 +43,11 @@ call :PackProject shared\JiShe.CollectBus.Common\JiShe.CollectBus.Common.csproj
call :PackProject shared\JiShe.CollectBus.Domain.Shared\JiShe.CollectBus.Domain.Shared.csproj
REM 打包 Services 项目
echo 打包 Services 项目...
call :PackProject services\JiShe.CollectBus.Domain\JiShe.CollectBus.Domain.csproj
call :PackProject services\JiShe.CollectBus.Application.Contracts\JiShe.CollectBus.Application.Contracts.csproj
call :PackProject services\JiShe.CollectBus.Application\JiShe.CollectBus.Application.csproj
call :PackProject services\JiShe.CollectBus.EntityFrameworkCore\JiShe.CollectBus.EntityFrameworkCore.csproj
@REM echo 打包 Services 项目...
@REM call :PackProject services\JiShe.CollectBus.Domain\JiShe.CollectBus.Domain.csproj
@REM call :PackProject services\JiShe.CollectBus.Application.Contracts\JiShe.CollectBus.Application.Contracts.csproj
@REM call :PackProject services\JiShe.CollectBus.Application\JiShe.CollectBus.Application.csproj
@REM call :PackProject services\JiShe.CollectBus.EntityFrameworkCore\JiShe.CollectBus.EntityFrameworkCore.csproj
echo.
echo 是否要发布包到 NuGet? (Y/N)
@ -58,7 +57,7 @@ if /i "%PUBLISH_CHOICE%"=="Y" (
echo 开始发布包...
for %%f in ("%OUTPUT_DIR%\*.nupkg") do (
echo 发布: %%f
dotnet nuget push "%%f" --api-key %API_KEY% --source https://api.nuget.org/v3/index.json --skip-duplicate
dotnet nuget push "%%f" --api-key %API_KEY% --source %SOURCE% --skip-duplicate
)
echo 所有包已发布完成!
) else (
@ -70,7 +69,7 @@ goto :eof
:PackProject
if exist "%~1" (
echo 打包: %~1
dotnet pack "%~1" -c %CONFIGURATION% --no-build --include-symbols -p:SymbolPackageFormat=snupkg -p:PackageVersion=%VERSION% -o "%OUTPUT_DIR%"
dotnet pack "%~1" -c %CONFIGURATION% --include-symbols -p:SymbolPackageFormat=snupkg -p:PackageVersion=%VERSION% -o "%OUTPUT_DIR%"
) else (
echo 警告: 项目不存在 - %~1
)