5 Commits

Author SHA1 Message Date
吕新雨
aa530b0ce3 fix:更新runner 2026-02-02 22:58:42 +08:00
cdd0ac32de Merge pull request 'fix:更新自建仓库' (#13) from damer into main
Reviewed-on: #13
2026-02-02 14:50:28 +00:00
吕新雨
d98ec76dc0 fix:更新自建仓库 2026-02-02 22:50:11 +08:00
3c35e14c3d Merge pull request 'damer' (#12) from damer into main
Reviewed-on: #12
2026-02-02 14:47:30 +00:00
吕新雨
c0deea9318 fix:更新自建仓库 2026-02-02 22:47:09 +08:00

View File

@@ -7,6 +7,12 @@ on:
jobs: jobs:
build-and-push: build-and-push:
runs-on: ubuntu-latest runs-on: ubuntu-latest
env:
# 可选:在仓库 Secrets 中配置这些值(更方便在不同环境复用)
# - DOCKER_REGISTRY: 例如 docker.damer.fun自建 registry 域名)
# - DOCKER_IMAGE_REPO: 例如 damer/mindfulness-server不含 registry
DOCKER_REGISTRY: ${{ secrets.DOCKER_REGISTRY }}
DOCKER_IMAGE_REPO: ${{ secrets.DOCKER_IMAGE_REPO }}
steps: steps:
# 1⃣ Checkout 仓库代码 # 1⃣ Checkout 仓库代码
@@ -68,25 +74,41 @@ jobs:
echo "IMAGE_TAG=${NEXT_TAG}" >> "$GITEA_ENV" echo "IMAGE_TAG=${NEXT_TAG}" >> "$GITEA_ENV"
fi fi
# 3⃣ 设置 Docker 镜像名称 # 3⃣ 设置镜像仓库与镜像名称(自建 Registry / Docker Hub 都可)
- name: Set image variables - name: Set image variables
shell: bash shell: bash
run: | run: |
# 修改为你的 Docker Hub 仓库名例如yourname/mindfulness-server # 自建镜像仓库地址例如docker.damer.fun 或 registry.example.com
IMAGE_NAME=docker.damer.fun/damer/mindfulness-server # 如要推送 Docker Hub可把 REGISTRY 留空并把 IMAGE_REPO 设置为 yourname/xxx
REGISTRY="${DOCKER_REGISTRY:-docker.damer.fun}"
# 镜像仓库路径(不含 registry
IMAGE_REPO="${DOCKER_IMAGE_REPO:-damer/mindfulness-server}"
if [[ -n "$REGISTRY" && "$REGISTRY" != "docker.io" ]]; then
IMAGE_NAME="$REGISTRY/$IMAGE_REPO"
else
IMAGE_NAME="$IMAGE_REPO"
fi
if [[ -n "${GITHUB_ENV:-}" ]]; then if [[ -n "${GITHUB_ENV:-}" ]]; then
echo "REGISTRY=$REGISTRY" >> "$GITHUB_ENV"
echo "IMAGE_REPO=$IMAGE_REPO" >> "$GITHUB_ENV"
echo "IMAGE_NAME=$IMAGE_NAME" >> "$GITHUB_ENV" echo "IMAGE_NAME=$IMAGE_NAME" >> "$GITHUB_ENV"
fi fi
if [[ -n "${GITEA_ENV:-}" ]]; then if [[ -n "${GITEA_ENV:-}" ]]; then
echo "REGISTRY=$REGISTRY" >> "$GITEA_ENV"
echo "IMAGE_REPO=$IMAGE_REPO" >> "$GITEA_ENV"
echo "IMAGE_NAME=$IMAGE_NAME" >> "$GITEA_ENV" echo "IMAGE_NAME=$IMAGE_NAME" >> "$GITEA_ENV"
fi fi
# 4⃣ 登录 Docker Hub # 4⃣ 登录镜像仓库(自建 Registry / Docker Hub
- name: Login to Docker Hub - name: Login to Docker Registry
uses: docker/login-action@v3 uses: docker/login-action@v3
with: with:
username: ${{ secrets.DOCKERHUB_USERNAME }} # 必须与 IMAGE_NAME 的 registry 部分一致,否则 push 会 401
password: ${{ secrets.DOCKERHUB_TOKEN }} registry: ${{ env.REGISTRY }}
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_TOKEN }}
# 5⃣ 构建 Docker 镜像(使用 server/ 作为构建上下文) # 5⃣ 构建 Docker 镜像(使用 server/ 作为构建上下文)
- name: Build Docker Image - name: Build Docker Image
@@ -94,7 +116,7 @@ jobs:
run: | run: |
docker build -f server/Dockerfile -t "$IMAGE_NAME:$IMAGE_TAG" server docker build -f server/Dockerfile -t "$IMAGE_NAME:$IMAGE_TAG" server
# 6⃣ 推送 Docker 镜像到 Docker Hub # 6⃣ 推送 Docker 镜像到镜像仓库
- name: Push Docker Image - name: Push Docker Image
shell: bash shell: bash
run: | run: |