From 1ef6e120a892fe748a8b5402ce710a201228b41e Mon Sep 17 00:00:00 2001 From: yukaidi Date: Wed, 10 Jun 2026 21:18:44 +0800 Subject: [PATCH] ci: improve build and packaging workflow --- .github/workflows/maven.yml | 13 ++++++++++++- docker-entrypoint.sh | 6 +++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 18710c2..450078c 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -5,6 +5,7 @@ permissions: packages: write on: + workflow_dispatch: push: tags: - '*' @@ -103,6 +104,16 @@ jobs: - name: 设置 Docker Buildx uses: docker/setup-buildx-action@v3 + - name: 生成 Docker 标签 + id: docker_tag + shell: bash + run: | + tag="$(printf '%s' "${GITHUB_REF_NAME}" | tr '[:upper:]' '[:lower:]' | sed -E 's/[^a-z0-9_.-]+/-/g; s/^-+//; s/-+$//')" + if [ -z "$tag" ]; then + tag="snapshot" + fi + echo "tag=$tag" >> "$GITHUB_OUTPUT" + - name: 构建并推送 Docker 镜像 uses: docker/build-push-action@v5 with: @@ -110,7 +121,7 @@ jobs: push: true platforms: linux/amd64,linux/arm64,linux/arm/v7 tags: | - ghcr.io/${{ github.repository }}:${{ github.ref_name }} + ghcr.io/${{ github.repository }}:${{ steps.docker_tag.outputs.tag }} ghcr.io/${{ github.repository }}:latest diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index 2bc18db..7742770 100644 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -6,4 +6,8 @@ chown -R appuser:appgroup /app/db /app/logs /app/resources 2>/dev/null || true # Run Java directly - entrypoint is PID 1, exec makes Java PID 1 # Docker SIGTERM goes directly to Java, triggering ShutdownHook -exec java -Xmx${JVM_XMX:-512M} ${JVM_OPTS} -Duser.timezone=${TZ:-Asia/Shanghai} -jar /app/netdisk-fast-download.jar +DEFAULT_JVM_OPTS="-Xmx${JVM_XMX:-512M} -Xss${JVM_XSS:-512k} -XX:MaxDirectMemorySize=${JVM_MAX_DIRECT_MEMORY:-256M} -DNFD_LOG_LEVEL=${NFD_LOG_LEVEL:-info} -DNFD_PLAYGROUND_ENABLED=${NFD_PLAYGROUND_ENABLED:-false}" +if [ -n "${JVM_MAX_METASPACE:-}" ]; then + DEFAULT_JVM_OPTS="$DEFAULT_JVM_OPTS -XX:MaxMetaspaceSize=$JVM_MAX_METASPACE" +fi +exec java ${DEFAULT_JVM_OPTS} ${JVM_OPTS} -Duser.timezone=${TZ:-Asia/Shanghai} -jar /app/netdisk-fast-download.jar