ci: 流水线新增SkuWorker容器并自动执行数据库迁移
All checks were successful
Build and Deploy TenantApi + SkuWorker / build-and-deploy (push) Successful in 1m55s
All checks were successful
Build and Deploy TenantApi + SkuWorker / build-and-deploy (push) Successful in 1m55s
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
name: Build and Deploy TenantApi
|
name: Build and Deploy TenantApi + SkuWorker
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
@@ -30,18 +30,34 @@ jobs:
|
|||||||
- name: Build on host
|
- name: Build on host
|
||||||
run: |
|
run: |
|
||||||
cd /opt/deploy/tenantapi
|
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/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: |
|
run: |
|
||||||
cd /opt/deploy/tenantapi
|
cd /opt/deploy/tenantapi
|
||||||
docker build -t takeoutsaas-tenantapi:latest -f src/Api/TakeoutSaaS.TenantApi/Dockerfile .
|
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: |
|
run: |
|
||||||
docker stop tenantapi || true
|
docker stop tenantapi || true
|
||||||
docker rm tenantapi || true
|
docker rm tenantapi || true
|
||||||
|
docker stop skuworker || true
|
||||||
|
docker rm skuworker || true
|
||||||
|
|
||||||
docker run -d \
|
docker run -d \
|
||||||
--name tenantapi \
|
--name tenantapi \
|
||||||
--restart unless-stopped \
|
--restart unless-stopped \
|
||||||
@@ -49,6 +65,12 @@ jobs:
|
|||||||
-e ASPNETCORE_ENVIRONMENT=Development \
|
-e ASPNETCORE_ENVIRONMENT=Development \
|
||||||
takeoutsaas-tenantapi:latest
|
takeoutsaas-tenantapi:latest
|
||||||
|
|
||||||
|
docker run -d \
|
||||||
|
--name skuworker \
|
||||||
|
--restart unless-stopped \
|
||||||
|
-e ASPNETCORE_ENVIRONMENT=Development \
|
||||||
|
takeoutsaas-skuworker:latest
|
||||||
|
|
||||||
- name: Clean up old images
|
- name: Clean up old images
|
||||||
run: |
|
run: |
|
||||||
docker image prune -f
|
docker image prune -f
|
||||||
|
|||||||
4
src/Worker/TakeoutSaaS.SkuWorker/Dockerfile
Normal file
4
src/Worker/TakeoutSaaS.SkuWorker/Dockerfile
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
FROM mcr.microsoft.com/dotnet/aspnet:10.0
|
||||||
|
WORKDIR /app
|
||||||
|
COPY publish-worker/ .
|
||||||
|
ENTRYPOINT ["dotnet", "TakeoutSaaS.SkuWorker.dll"]
|
||||||
Reference in New Issue
Block a user