iboard/.gitea/workflows/docker-build.yml
2026-08-07 09:10:40 +08:00

37 lines
1.1 KiB
YAML

name: Docker Build and Push
# 仅 main 分支 push 触发, 其他分支不触发
on:
push:
branches:
- main
jobs:
build-image:
runs-on: ubuntu-latest
steps:
- uses: https://gitea.com/actions/checkout@v4
- name: Build Docker image
# DATABASE_URL 仅在 prisma generate 阶段需要, 可用任何合法占位串
run: docker build -t iboard:latest --build-arg DATABASE_URL=mysql://build:build@127.0.0.1:3306/build .
- name: List images
run: docker images
- name: Remove old container
run: docker rm -vf iboard || true
- name: Recycle container
run: docker system prune --volumes -f
- name: Run container
# DATABASE_URL 通过 gitea Actions secret 注入, 不进镜像层
run: |
docker run -d --name iboard -p 3001:3001 \
-e DATABASE_URL="${{ secrets.DATABASE_URL }}" \
-e JWT_SECRET="${{ secrets.JWT_SECRET }}" \
iboard:latest
env:
DATABASE_URL: ${{ secrets.DATABASE_URL }}
JWT_SECRET: ${{ secrets.JWT_SECRET }}