From 93bef462fb10a4e9d78115c5dec4f4472c769a51 Mon Sep 17 00:00:00 2001
From: xiaolipro <2357729423@qq.com>
Date: Sat, 5 Sep 2026 16:33:28 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E8=BF=81=E7=A7=BB=E5=88=B0gitea?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.gitea/workflows/deploy.yml | 34 ++++++++++++++++++++++
NuGet.Config | 3 +-
SimpleAdmin.sln | 1 +
src/SimpleAdmin.Api/Dockerfile | 29 ++++++++++++------
src/SimpleAdmin.Api/SimpleAdmin.Api.csproj | 5 +++-
5 files changed, 61 insertions(+), 11 deletions(-)
create mode 100644 .gitea/workflows/deploy.yml
diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml
new file mode 100644
index 0000000..9da703b
--- /dev/null
+++ b/.gitea/workflows/deploy.yml
@@ -0,0 +1,34 @@
+# 复制到 admin .gitea/workflows/deploy.yml
+name: Build and Deploy
+
+on:
+ push:
+ branches: [master, main]
+ workflow_dispatch:
+
+env:
+ CSPROJ: src/SimpleAdmin.Api/SimpleAdmin.Api.csproj
+ IMAGE_NAME: admin_api
+ DEPLOY_NAME: admin-api
+ CONTAINER_NAME: admin-api
+ TCR_REGISTRY: ccr.ccs.tencentyun.com
+ TCR_NAMESPACE: ideship
+
+jobs:
+ deploy:
+ runs-on: k3s-host
+ steps:
+ - name: Build and deploy
+ run: |
+ set -euxo pipefail
+ export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
+ TAG="${{ gitea.sha }}"
+ IMG="${{ env.TCR_REGISTRY }}/${{ env.TCR_NAMESPACE }}/${{ env.IMAGE_NAME }}:${TAG}"
+ REPO="${{ gitea.repository }}"
+ test -n "$REPO" && [[ "$REPO" == */* ]]
+ echo "REPO=$REPO TAG=$TAG host=$(hostname)"
+ cd /data/k3s
+ ./scripts/ci-publish-container.sh "$REPO" "${{ env.CSPROJ }}" \
+ "${{ env.IMAGE_NAME }}" "$TAG" "$TAG"
+ ./scripts/ci-deploy-api.sh "${{ env.DEPLOY_NAME }}" \
+ "${{ env.CONTAINER_NAME }}" "$IMG"
diff --git a/NuGet.Config b/NuGet.Config
index 69486f2..f1710cc 100644
--- a/NuGet.Config
+++ b/NuGet.Config
@@ -1,7 +1,8 @@
-
+
+
diff --git a/SimpleAdmin.sln b/SimpleAdmin.sln
index 1f0347f..8816a47 100644
--- a/SimpleAdmin.sln
+++ b/SimpleAdmin.sln
@@ -15,6 +15,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "items", "items", "{BE5132AD
oms表结构与接口设计20260427.md = oms表结构与接口设计20260427.md
db.sql = db.sql
Directory.Build.props = Directory.Build.props
+ .gitea\workflows\deploy.yml = .gitea\workflows\deploy.yml
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SimpleAdmin.Api", "src\SimpleAdmin.Api\SimpleAdmin.Api.csproj", "{229ED167-9ECC-4736-8DFB-522EEA8FF680}"
diff --git a/src/SimpleAdmin.Api/Dockerfile b/src/SimpleAdmin.Api/Dockerfile
index cc7eb8e..ae072d7 100644
--- a/src/SimpleAdmin.Api/Dockerfile
+++ b/src/SimpleAdmin.Api/Dockerfile
@@ -1,17 +1,28 @@
-FROM mcr.microsoft.com/dotnet/sdk:8.0.303 AS base
-ARG BUILD_CONFIGURATION=Release
+FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /src
-COPY . /src
+
+ARG NUGET_IDESHIP=https://baget.ideship.com/v3/index.json
+
+COPY ["NuGet.Config", "Directory.Build.props", "./"]
+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" \
+ -e "s|https://baget.xiaolipro.cn/v3/index.json|${NUGET_IDESHIP}|g" \
+ NuGet.Config \
+ && cat NuGet.Config
+
+COPY ["src/Oms.Domain/Oms.Domain.csproj", "src/Oms.Domain/"]
+COPY ["src/Oms.SqlSugarCore/Oms.SqlSugarCore.csproj", "src/Oms.SqlSugarCore/"]
+COPY ["src/Oms.Application/Oms.Application.csproj", "src/Oms.Application/"]
+COPY ["src/SimpleAdmin.Api/SimpleAdmin.Api.csproj", "src/SimpleAdmin.Api/"]
RUN dotnet restore "src/SimpleAdmin.Api/SimpleAdmin.Api.csproj"
-WORKDIR "/src/src/SimpleAdmin.Api"
-RUN dotnet build "SimpleAdmin.Api.csproj" -c $BUILD_CONFIGURATION -o /app/build
-FROM base AS publish
+COPY . .
+WORKDIR /src/src/SimpleAdmin.Api
ARG BUILD_CONFIGURATION=Release
-RUN dotnet publish "SimpleAdmin.Api.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false
+RUN dotnet publish "SimpleAdmin.Api.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false --no-restore
-# 使用运行时镜像
FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS runtime
WORKDIR /app
-COPY --from=publish /app/publish .
+COPY --from=build /app/publish .
ENTRYPOINT ["dotnet", "SimpleAdmin.Api.dll"]
diff --git a/src/SimpleAdmin.Api/SimpleAdmin.Api.csproj b/src/SimpleAdmin.Api/SimpleAdmin.Api.csproj
index 6de202a..2648d19 100644
--- a/src/SimpleAdmin.Api/SimpleAdmin.Api.csproj
+++ b/src/SimpleAdmin.Api/SimpleAdmin.Api.csproj
@@ -7,8 +7,11 @@
Linux
True
$(NoWarn);CS1591
+ true
+ mcr.microsoft.com/dotnet/aspnet:8.0
+ /app
-
+