From 3e2dfb4d51a11b9ab8e7dca531c4214474822acf Mon Sep 17 00:00:00 2001
From: xiaolipro <2357729423@qq.com>
Date: Fri, 4 Sep 2026 10:21:53 +0800
Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9Anuget?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
NuGet.Config | 10 ++++++----
src/InterfaceForward.Api/Dockerfile | 31 +++++++++++++++++++----------
2 files changed, 27 insertions(+), 14 deletions(-)
diff --git a/NuGet.Config b/NuGet.Config
index 0418ba6..f1710cc 100644
--- a/NuGet.Config
+++ b/NuGet.Config
@@ -1,6 +1,8 @@
-
-
-
-
\ No newline at end of file
+
+
+
+
+
+
diff --git a/src/InterfaceForward.Api/Dockerfile b/src/InterfaceForward.Api/Dockerfile
index 969c197..dc63325 100644
--- a/src/InterfaceForward.Api/Dockerfile
+++ b/src/InterfaceForward.Api/Dockerfile
@@ -1,25 +1,36 @@
-# ===== 阶段1: 基础依赖层(可缓存) =====
+# 构建上下文 = 仓库根目录(含 NuGet.Config / Directory.Build.props / src/)
+# Kaniko 默认: --build-arg=NUGET_IDESHIP=http://baget/v3/index.json
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /src
-# ✅ 关键优化:只复制 .csproj 文件,让 restore 层可以缓存
+ARG NUGET_IDESHIP=http://baget/v3/index.json
+
+COPY ["NuGet.Config", "Directory.Build.props", "./"]
+# 集群内构建走 Service;本机构建可 --build-arg=NUGET_IDESHIP=https://baget.ideship.com/v3/index.json
+RUN sed -i \
+ -e "s|https://baget.ideship.com/v3/index.json|${NUGET_IDESHIP}|g" \
+ -e "s|http://baget.ideship.com/v3/index.json|${NUGET_IDESHIP}|g" \
+ NuGet.Config \
+ && cat NuGet.Config
+
+COPY ["src/InterfaceForward.Domain.Shared/InterfaceForward.Domain.Shared.csproj", "src/InterfaceForward.Domain.Shared/"]
+COPY ["src/InterfaceForward.Application.Contracts/InterfaceForward.Application.Contracts.csproj", "src/InterfaceForward.Application.Contracts/"]
+COPY ["src/InterfaceForward.Repositories/InterfaceForward.Repositories.csproj", "src/InterfaceForward.Repositories/"]
+COPY ["src/InterfaceForward.Application/InterfaceForward.Application.csproj", "src/InterfaceForward.Application/"]
COPY ["src/InterfaceForward.Api/InterfaceForward.Api.csproj", "src/InterfaceForward.Api/"]
+
RUN dotnet restore "src/InterfaceForward.Api/InterfaceForward.Api.csproj"
-# ===== 阶段2: 构建层 =====
-# ✅ 现在才复制所有代码(这一层变动频繁,但 restore 已经跑完了)
COPY . .
-WORKDIR "/src/src/InterfaceForward.Api"
+WORKDIR /src/src/InterfaceForward.Api
ARG BUILD_CONFIGURATION=Release
-RUN dotnet build "InterfaceForward.Api.csproj" -c $BUILD_CONFIGURATION -o /app/build
+RUN dotnet build "InterfaceForward.Api.csproj" -c $BUILD_CONFIGURATION -o /app/build --no-restore
-# ===== 阶段3: 发布层 =====
FROM build AS publish
ARG BUILD_CONFIGURATION=Release
-RUN dotnet publish "InterfaceForward.Api.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false
+RUN dotnet publish "InterfaceForward.Api.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false --no-restore
-# ===== 阶段4: 最终运行时(轻量级) =====
FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS runtime
WORKDIR /app
COPY --from=publish /app/publish .
-ENTRYPOINT ["dotnet", "InterfaceForward.Api.dll"]
\ No newline at end of file
+ENTRYPOINT ["dotnet", "InterfaceForward.Api.dll"]