From 2a0e2e6d6216626c1ff6db6d732dd3b38c65d99d Mon Sep 17 00:00:00 2001 From: MSuMshk <2039814060@qq.com> Date: Mon, 9 Mar 2026 13:37:04 +0800 Subject: [PATCH] =?UTF-8?q?ci:=20=E6=96=B0=E5=A2=9E=20MiniApi=20gitea=20?= =?UTF-8?q?=E9=83=A8=E7=BD=B2=E5=B7=A5=E4=BD=9C=E6=B5=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/deploy.yml | 54 +++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) 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..4a0269a --- /dev/null +++ b/.gitea/workflows/deploy.yml @@ -0,0 +1,54 @@ +name: Build and Deploy MiniApi + +on: + push: + branches: + - main + +jobs: + build-and-deploy: + runs-on: host + steps: + - name: Checkout code + run: | + cd /opt/deploy/miniapi || mkdir -p /opt/deploy/miniapi + cd /opt/deploy/miniapi + + # 如果已有仓库就同步 main,否则执行 clone + if [ -d ".git" ]; then + git fetch origin main + git reset --hard origin/main + git submodule update --init --recursive + else + git clone --branch main ssh://git@git.laosankeji.com:2222/msumshk/TakeoutSaaS.C-Side-Mini-Program-API.git . + git submodule init + git config submodule.TakeoutSaaS.BuildingBlocks.url ssh://git@git.laosankeji.com:2222/msumshk/TakeoutSaaS.BuildingBlocks.git + git config submodule.TakeoutSaaS.Docs.url ssh://git@git.laosankeji.com:2222/msumshk/TakeoutSaaS.Docs.git + git submodule update --init --recursive + fi + + - name: Build on host + run: | + cd /opt/deploy/miniapi + dotnet restore TakeoutSaaS.sln + dotnet publish src/Api/TakeoutSaaS.MiniApi/TakeoutSaaS.MiniApi.csproj -c Release -o /opt/deploy/miniapi/publish --no-restore + + - name: Build Docker image + run: | + cd /opt/deploy/miniapi + docker build -t takeoutsaas-miniapi:latest -f src/Api/TakeoutSaaS.MiniApi/Dockerfile . + + - name: Deploy container + run: | + docker stop miniapi || true + docker rm miniapi || true + docker run -d \ + --name miniapi \ + --restart unless-stopped \ + -p 7803:7803 \ + -e ASPNETCORE_ENVIRONMENT=Development \ + takeoutsaas-miniapi:latest + + - name: Clean up old images + run: | + docker image prune -f