diff --git a/.gitea/workflows/dev.yaml b/.gitea/workflows/dev.yaml index 4329375..d019d8e 100644 --- a/.gitea/workflows/dev.yaml +++ b/.gitea/workflows/dev.yaml @@ -1,35 +1,35 @@ -name: Docker Image CI -on: - push: - branches: - - dev - -jobs: - build: - runs-on: gitea-runner-group-blog - container: - image: harbor.merlin.xin/release/merlin/action_builder:v0.0.1 - steps: - - name: Checkout code - uses: actions/checkout@v4 - - name: docker login - env: - HARBOR_USERNAME: ${{ secrets.HARBOR_ROBOT }} - HARBOR_PASSWORD: ${{ secrets.HARBOR_ROBOT_SECRET }} - HARBOR_URL: ${{ vars.HARBOR_URL }} - run: docker login ${HARBOR_URL} -u ${HARBOR_USERNAME} -p ${HARBOR_PASSWORD} - - name: Build and push Docker images - env: - HARBOR_URL: ${{ vars.HARBOR_URL }} - TAG: ${{ github.sha }} - REPOSITORY: ${{ github.repository }} - run: | - ROOT_DIR=$(pwd) - IMAGE_NAME="${HARBOR_URL}/testing/$REPOSITORY:${TAG}" - echo "Building image: ${IMAGE_NAME}" - docker build -t ${IMAGE_NAME} . - echo "Pushing image: ${IMAGE_NAME}" - docker push ${IMAGE_NAME} - echo "Successfully pushed: ${IMAGE_NAME}" - docker rmi ${IMAGE_NAME} - echo "cleaned up local image" +name: Docker Image CI +on: + push: + branches: + - dev + +jobs: + build: + runs-on: gitea-runner-group-blog + container: + image: ${{ vars.HARBOR_URL }}/candlelight/action_builder:v0.0.1 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: docker login + env: + HARBOR_USERNAME: ${{ secrets.HARBOR_ROBOT }} + HARBOR_PASSWORD: ${{ secrets.HARBOR_ROBOT_SECRET }} + HARBOR_URL: ${{ vars.HARBOR_URL }} + run: docker login ${HARBOR_URL} -u ${HARBOR_USERNAME} -p ${HARBOR_PASSWORD} + - name: Build and push Docker images + env: + HARBOR_URL: ${{ vars.HARBOR_URL }} + TAG: ${{ github.sha }} + REPOSITORY: ${{ github.repository }} + run: | + ROOT_DIR=$(pwd) + IMAGE_NAME="${HARBOR_URL}/testing/$REPOSITORY:${TAG}" + echo "Building image: ${IMAGE_NAME}" + docker build -t ${IMAGE_NAME} . + echo "Pushing image: ${IMAGE_NAME}" + docker push ${IMAGE_NAME} + echo "Successfully pushed: ${IMAGE_NAME}" + docker rmi ${IMAGE_NAME} + echo "cleaned up local image" diff --git a/.gitea/workflows/tag.yaml b/.gitea/workflows/tag.yaml index a70ef9e..8d70402 100644 --- a/.gitea/workflows/tag.yaml +++ b/.gitea/workflows/tag.yaml @@ -1,34 +1,34 @@ -name: Docker Image CI -on: - push: - tags: - - '*' - -jobs: - build: - runs-on: gitea-runner-group-blog - container: - image: harbor.merlin.xin/release/merlin/action_builder:v0.0.1 - steps: - - name: Checkout code - uses: actions/checkout@v4 - - name: docker login - env: - HARBOR_USERNAME: ${{ secrets.HARBOR_ROBOT }} - HARBOR_PASSWORD: ${{ secrets.HARBOR_ROBOT_SECRET }} - HARBOR_URL: ${{ vars.HARBOR_URL }} - run: docker login ${HARBOR_URL} -u ${HARBOR_USERNAME} -p ${HARBOR_PASSWORD} - - name: Build and push Docker images - env: - HARBOR_URL: ${{ vars.HARBOR_URL }} - REPOSITORY: ${{ github.repository }} - run: | - ROOT_DIR=$(pwd) - IMAGE_NAME="${HARBOR_URL}/release/$REPOSITORY:$GITHUB_REF_NAME" - echo "Building image: ${IMAGE_NAME}" - docker build -t ${IMAGE_NAME} . - echo "Pushing image: ${IMAGE_NAME}" - docker push ${IMAGE_NAME} - echo "Successfully pushed: ${IMAGE_NAME}" - docker rmi ${IMAGE_NAME} - echo "cleaned up local image" +name: Docker Image CI +on: + push: + tags: + - '*' + +jobs: + build: + runs-on: gitea-runner-group-blog + container: + image: ${{ vars.HARBOR_URL }}/candlelight/action_builder:v0.0.1 + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: docker login + env: + HARBOR_USERNAME: ${{ secrets.HARBOR_ROBOT }} + HARBOR_PASSWORD: ${{ secrets.HARBOR_ROBOT_SECRET }} + HARBOR_URL: ${{ vars.HARBOR_URL }} + run: docker login ${HARBOR_URL} -u ${HARBOR_USERNAME} -p ${HARBOR_PASSWORD} + - name: Build and push Docker images + env: + HARBOR_URL: ${{ vars.HARBOR_URL }} + REPOSITORY: ${{ github.repository }} + run: | + ROOT_DIR=$(pwd) + IMAGE_NAME="${HARBOR_URL}/$REPOSITORY:$GITHUB_REF_NAME" + echo "Building image: ${IMAGE_NAME}" + docker build -t ${IMAGE_NAME} . + echo "Pushing image: ${IMAGE_NAME}" + docker push ${IMAGE_NAME} + echo "Successfully pushed: ${IMAGE_NAME}" + docker rmi ${IMAGE_NAME} + echo "cleaned up local image" diff --git a/src/main/java/xin/merlin/myblog_server/utils/JwtUtil.java b/src/main/java/xin/merlin/myblog_server/utils/JwtUtil.java index 2e0a4a2..32ccb4d 100644 --- a/src/main/java/xin/merlin/myblog_server/utils/JwtUtil.java +++ b/src/main/java/xin/merlin/myblog_server/utils/JwtUtil.java @@ -3,7 +3,9 @@ package xin.merlin.myblog_server.utils; import io.jsonwebtoken.*; import io.jsonwebtoken.security.Keys; import jakarta.annotation.PostConstruct; +import jakarta.annotation.PreDestroy; import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import xin.merlin.myblog_server.config.JwtProperties; @@ -12,6 +14,8 @@ import java.nio.charset.StandardCharsets; import java.util.Date; import java.util.UUID; + +@Slf4j @Component @RequiredArgsConstructor public class JwtUtil { @@ -34,6 +38,16 @@ public class JwtUtil { } } + @PreDestroy + public void destroy() { + log.info("JWT 组件正在关闭..."); + // 如有线程池、定时任务、IO 连接,在这里 shutdown/close + // 本例仅把引用置空,帮助 GC(可选) + this.jwtParser = null; + this.key = null; + log.info("JWT 组件已关闭"); + } + /** * 生成 JWT Token */