Files
VLoop/.gitea/workflows/ci.yml
huanghaosheng 5634ef3787 ci: 改为单 job 直接构建部署,消除 Gitea Registry 依赖
ci.yml: 合并为单 deploy job,runs-on aliyun,apk 安装工具,docker compose up -d --build 直接构建

docker-compose.prod.yml: backend/worker/frontend 改用 build: 块,移除 nginx bind mount

frontend/Dockerfile: 添加 ARG NGINX_CONFIG,生产构建传入 nginx.prod.conf 进镜像
2026-07-28 12:46:36 +08:00

54 lines
1.2 KiB
YAML

name: CI/CD
on:
push:
branches:
- main
- master
concurrency:
group: deploy-${{ gitea.ref }}
cancel-in-progress: true
jobs:
deploy:
name: Deploy
runs-on: aliyun
steps:
- name: Checkout
uses: actions/checkout@v4
# -- Backend: vet + test --
- name: Install Go
run: |
sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
apk add --no-cache go
- name: Vet
working-directory: backend
run: go vet ./...
- name: Test
working-directory: backend
run: go test -race -count=1 ./...
# -- Frontend: install + build --
- name: Install Node
run: apk add --no-cache nodejs npm
- name: Build Frontend
working-directory: frontend
run: |
npm ci
npm run build
# -- Deploy --
- name: Deploy
run: |
cp docker-compose.prod.yml /opt/vloop/
cp -r backend /opt/vloop/
cp -r frontend /opt/vloop/
cd /opt/vloop
docker compose -f docker-compose.prod.yml up -d --build --remove-orphans
docker image prune -f