44 lines
1.4 KiB
YAML
44 lines
1.4 KiB
YAML
name: Build and Deploy AdminApi
|
||
|
||
on:
|
||
push:
|
||
branches:
|
||
- dev
|
||
|
||
jobs:
|
||
build-and-deploy:
|
||
runs-on: host
|
||
steps:
|
||
- name: Checkout code
|
||
run: |
|
||
rm -rf /opt/deploy/adminapi || true
|
||
mkdir -p /opt/deploy/adminapi
|
||
cd /opt/deploy/adminapi
|
||
git clone --depth 1 --branch dev ssh://git@git.laosankeji.com:2222/msumshk/TakeoutSaaS.AdminApi.git .
|
||
|
||
# 手动拉取 submodules(从 Gitea 而不是 GitHub)
|
||
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 --depth 1
|
||
|
||
- name: Build Docker image
|
||
run: |
|
||
cd /opt/deploy/adminapi
|
||
docker build -t takeoutsaas-adminapi:latest -f src/Api/TakeoutSaaS.AdminApi/Dockerfile .
|
||
|
||
- name: Deploy container
|
||
run: |
|
||
docker stop adminapi || true
|
||
docker rm adminapi || true
|
||
docker run -d \
|
||
--name adminapi \
|
||
--restart unless-stopped \
|
||
-p 7801:7801 \
|
||
-e ASPNETCORE_ENVIRONMENT=Production \
|
||
takeoutsaas-adminapi:latest
|
||
|
||
- name: Clean up old images
|
||
run: |
|
||
docker image prune -f
|