Files
UserBaseService/.gitea/workflows/deploy.yml
T
2026-08-05 10:32:56 +08:00

48 lines
1.8 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
name: deploy-userbase-service
on:
push:
branches: [main]
workflow_dispatch:
jobs:
build-deploy:
runs-on: ubuntu-latest
# docker:24 自带 docker CLI;宿主 docker.sock 默认挂入 job 容器,
# 因此 docker build/push/run 实际都在宿主守护进程上执行。
container:
image: docker:24
steps:
- name: Install git (alpine)
run: apk add --no-cache git
- name: Checkout (manual, internal Gitea)
run: |
git clone --depth 1 --branch main http://192.168.10.160:3000/${GITHUB_REPOSITORY}.git /tmp/src
cp -a /tmp/src/. .
rm -rf .git .gitea
rm -rf /tmp/src
# 用宿主 docker 守护进程跑 maven(--network=host 走宿主外网拉依赖),
# 产出 target/userbase.jar 落到工作区。
- name: Build jar (maven, host network)
run: docker run --rm --network=host -v $PWD:/build -w /build maven:3.9-eclipse-temurin-8 mvn -B -DskipTests package
- name: Login to Nexus docker registry
# 单引号包裹 secret,避免密码中的 $ 被 shell 展开
run: echo '${{ secrets.NEXUS_PASSWORD }}' | docker login -u '${{ secrets.NEXUS_USER }}' --password-stdin 192.168.10.160:8083
- name: Build image
run: docker build -f docker/Dockerfile -t 192.168.10.160:8083/docker-hosted/userbase-service:latest .
- name: Push image
run: docker push 192.168.10.160:8083/docker-hosted/userbase-service:latest
- name: Deploy on host (infra-infra-net)
run: |
docker rm -f userbase-service 2>/dev/null || true
docker run -d --name userbase-service --network infra-infra-net -p 8060:8060 --restart unless-stopped 192.168.10.160:8083/docker-hosted/userbase-service:latest
- name: Done
run: 'echo "UserBaseService deployed -> http://192.168.10.160:8060/userbase"'