ci: 流水线新增SkuWorker容器并自动执行数据库迁移
All checks were successful
Build and Deploy TenantApi + SkuWorker / build-and-deploy (push) Successful in 1m55s

This commit is contained in:
2026-02-25 11:37:27 +08:00
parent 77caac3af9
commit 7d3542735b
2 changed files with 30 additions and 4 deletions

View File

@@ -1,4 +1,4 @@
name: Build and Deploy TenantApi
name: Build and Deploy TenantApi + SkuWorker
on:
push:
@@ -30,18 +30,34 @@ jobs:
- name: Build on host
run: |
cd /opt/deploy/tenantapi
dotnet restore src/Api/TakeoutSaaS.TenantApi/TakeoutSaaS.TenantApi.csproj
dotnet restore TakeoutSaaS.sln
dotnet publish src/Api/TakeoutSaaS.TenantApi/TakeoutSaaS.TenantApi.csproj -c Release -o /opt/deploy/tenantapi/publish --no-restore
dotnet publish src/Worker/TakeoutSaaS.SkuWorker/TakeoutSaaS.SkuWorker.csproj -c Release -o /opt/deploy/tenantapi/publish-worker --no-restore
- name: Build Docker image
- name: Apply database migrations
run: |
cd /opt/deploy/tenantapi
export ASPNETCORE_ENVIRONMENT=Development
export TAKEOUTSAAS_APPSETTINGS_DIR=/opt/deploy/tenantapi/src/Api/TakeoutSaaS.TenantApi
dotnet tool restore
dotnet tool run dotnet-ef database update \
--context TakeoutAppDbContext \
--project src/Infrastructure/TakeoutSaaS.Infrastructure \
--startup-project src/Infrastructure/TakeoutSaaS.Infrastructure
- name: Build Docker images
run: |
cd /opt/deploy/tenantapi
docker build -t takeoutsaas-tenantapi:latest -f src/Api/TakeoutSaaS.TenantApi/Dockerfile .
docker build -t takeoutsaas-skuworker:latest -f src/Worker/TakeoutSaaS.SkuWorker/Dockerfile .
- name: Deploy container
- name: Deploy containers
run: |
docker stop tenantapi || true
docker rm tenantapi || true
docker stop skuworker || true
docker rm skuworker || true
docker run -d \
--name tenantapi \
--restart unless-stopped \
@@ -49,6 +65,12 @@ jobs:
-e ASPNETCORE_ENVIRONMENT=Development \
takeoutsaas-tenantapi:latest
docker run -d \
--name skuworker \
--restart unless-stopped \
-e ASPNETCORE_ENVIRONMENT=Development \
takeoutsaas-skuworker:latest
- name: Clean up old images
run: |
docker image prune -f

View File

@@ -0,0 +1,4 @@
FROM mcr.microsoft.com/dotnet/aspnet:10.0
WORKDIR /app
COPY publish-worker/ .
ENTRYPOINT ["dotnet", "TakeoutSaaS.SkuWorker.dll"]