Files
peipei-backend/.gitea/workflows/backend-docker.yml
2025-10-04 00:32:40 -04:00

67 lines
1.9 KiB
YAML

name: Build and Push Backend
on:
push:
branches: [ master, main ]
paths:
- 'docker/**'
- 'play-admin/**'
- 'play-common/**'
- 'play-generator/**'
- 'pom.xml'
workflow_dispatch: {}
jobs:
docker:
runs-on: docker
container:
image: debian:bookworm-slim
# act_runner already mounts the Docker socket; avoid duplicating it
options: --privileged
steps:
- name: Prepare tools via Tencent mirrors (apt)
shell: bash
run: |
sed -i 's|deb.debian.org|mirrors.tencent.com|g; s|security.debian.org|mirrors.tencent.com|g' /etc/apt/sources.list
apt-get update
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
ca-certificates curl git docker.io
docker version
git --version
- name: Checkout repository (git)
env:
REPO: ${{ github.repository }}
SERVER: ${{ github.server_url }}
SHA: ${{ github.sha }}
shell: bash
run: |
set -euo pipefail
echo "Cloning $SERVER/$REPO at $SHA"
git clone --depth=1 "$SERVER/$REPO" /workspace
cd /workspace
git fetch --depth=1 origin "$SHA" || true
git checkout -q "$SHA" || true
- name: Ensure buildx is available
shell: bash
run: |
docker buildx version || true
docker buildx create --use || true
- name: Build and push to local registry
env:
REGISTRY: 127.0.0.1:5000
TAG: ${{ github.sha }}
shell: bash
run: |
cd /workspace/peipei-backend
docker buildx build \
--platform linux/amd64 \
--build-arg MIRROR_REG=docker.m.daocloud.io/library/ \
-f docker/Dockerfile \
-t ${REGISTRY}/peipei/backend:${TAG} \
-t ${REGISTRY}/peipei/backend:latest \
--push \
.