From f4706ad097a2a2af3d17d53d3f48fc16548ba6e4 Mon Sep 17 00:00:00 2001 From: bichangxiong <3057647414@qq.com> Date: Wed, 13 Aug 2025 16:42:19 +0800 Subject: [PATCH 01/36] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20.gitea/workflows/dev?= =?UTF-8?q?.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/dev.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/dev.yml b/.gitea/workflows/dev.yml index 0740af1b..a49e0ace 100644 --- a/.gitea/workflows/dev.yml +++ b/.gitea/workflows/dev.yml @@ -1,9 +1,9 @@ -name: Build and Push Microservices Images +run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀 on: push: branches: - - [main] # 替换为要监听的分支 + - [master] # 替换为要监听的分支 jobs: build-and-push: From e41944c90872d55433f19be98c470666e3ddcd89 Mon Sep 17 00:00:00 2001 From: mocheng <3057647414@qq.com> Date: Wed, 13 Aug 2025 16:50:03 +0800 Subject: [PATCH 02/36] cicd --- .gitea/workflows/dev.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/dev.yml b/.gitea/workflows/dev.yml index a49e0ace..5f15f2d7 100644 --- a/.gitea/workflows/dev.yml +++ b/.gitea/workflows/dev.yml @@ -3,7 +3,7 @@ run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀 on: push: branches: - - [master] # 替换为要监听的分支 + - master # 替换为要监听的分支 jobs: build-and-push: @@ -63,4 +63,4 @@ jobs: context: . file: ${{ steps.dockerfile-path.outputs.dockerfile_path }} tags: ${{ secrets.REGISTRY_URL }}/by2025/${{ matrix.service }}:${{ github.sha }} - push: true \ No newline at end of file + push: true From 6c4a404799c3834b53189f08d5d9379b87c70793 Mon Sep 17 00:00:00 2001 From: mocheng <3057647414@qq.com> Date: Wed, 13 Aug 2025 17:56:12 +0800 Subject: [PATCH 03/36] cicd --- .gitea/workflows/dev.yml | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/.gitea/workflows/dev.yml b/.gitea/workflows/dev.yml index 5f15f2d7..557660f5 100644 --- a/.gitea/workflows/dev.yml +++ b/.gitea/workflows/dev.yml @@ -27,22 +27,36 @@ jobs: - ruoyi-snailjob-server steps: - name: Checkout Repository - uses: actions/checkout@v3 + # 使用本地Gitea仓库的checkout action + uses: http://47.109.37.87:3000/bichangxiong/checkout@v3 + # 如果是私有仓库,可能需要令牌 + with: + token: ${{ secrets.GITEA_TOKEN }} - name: Set Up JDK - uses: actions/setup-java@v3 + # 使用本地Gitea仓库的setup-java action + uses: http://47.109.37.87:3000/bichangxiong/java-setup@v3 with: java-version: '17' # 按项目实际Java版本调整 distribution: 'temurin' + # 如果需要从本地Maven仓库拉取依赖,可以添加以下配置 + server-id: gitea + server-username: ${{ secrets.REGISTRY_USER }} + server-password: ${{ secrets.REGISTRY_PASS }} - name: Build Project with Maven run: mvn clean package -DskipTests -f ./${{ matrix.service }}/pom.xml + env: + # 配置Maven使用本地仓库 + MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository" - name: Set Up Docker Buildx - uses: docker/setup-buildx-action@v2 + # 使用本地Gitea仓库的setup-buildx-action + uses: http://47.109.37.87:3000/cicd/setup-buildx-action@v2 - name: Login to Gitea Container Registry - uses: docker/login-action@v2 + # 使用本地Gitea仓库的login-action + uses: http://47.109.37.87:3000/cicd/login-action@v2 with: registry: ${{ secrets.REGISTRY_URL }} username: ${{ secrets.REGISTRY_USER }} @@ -58,9 +72,11 @@ jobs: fi - name: Build and Push Docker Image - uses: docker/build-push-action@v4 + # 使用本地Gitea仓库的build-push-action + uses: http://47.109.37.87:3000/cicd/build-push-action@v4 with: context: . file: ${{ steps.dockerfile-path.outputs.dockerfile_path }} tags: ${{ secrets.REGISTRY_URL }}/by2025/${{ matrix.service }}:${{ github.sha }} push: true + From 727e984726fb87640e6692b836d8de9fd72b7513 Mon Sep 17 00:00:00 2001 From: mocheng <3057647414@qq.com> Date: Wed, 13 Aug 2025 18:31:34 +0800 Subject: [PATCH 04/36] cicd --- .gitea/workflows/dev.yml | 30 +++++++----------------------- 1 file changed, 7 insertions(+), 23 deletions(-) diff --git a/.gitea/workflows/dev.yml b/.gitea/workflows/dev.yml index 557660f5..6d71a015 100644 --- a/.gitea/workflows/dev.yml +++ b/.gitea/workflows/dev.yml @@ -3,7 +3,7 @@ run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀 on: push: branches: - - master # 替换为要监听的分支 + - master # 监听master分支 jobs: build-and-push: @@ -27,36 +27,22 @@ jobs: - ruoyi-snailjob-server steps: - name: Checkout Repository - # 使用本地Gitea仓库的checkout action - uses: http://47.109.37.87:3000/bichangxiong/checkout@v3 - # 如果是私有仓库,可能需要令牌 - with: - token: ${{ secrets.GITEA_TOKEN }} + uses: actions/checkout@v4 - name: Set Up JDK - # 使用本地Gitea仓库的setup-java action - uses: http://47.109.37.87:3000/bichangxiong/java-setup@v3 + uses: actions/setup-java@v4 with: - java-version: '17' # 按项目实际Java版本调整 + java-version: '17' distribution: 'temurin' - # 如果需要从本地Maven仓库拉取依赖,可以添加以下配置 - server-id: gitea - server-username: ${{ secrets.REGISTRY_USER }} - server-password: ${{ secrets.REGISTRY_PASS }} - name: Build Project with Maven run: mvn clean package -DskipTests -f ./${{ matrix.service }}/pom.xml - env: - # 配置Maven使用本地仓库 - MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository" - name: Set Up Docker Buildx - # 使用本地Gitea仓库的setup-buildx-action - uses: http://47.109.37.87:3000/cicd/setup-buildx-action@v2 + uses: docker/setup-buildx-action@v3 - name: Login to Gitea Container Registry - # 使用本地Gitea仓库的login-action - uses: http://47.109.37.87:3000/cicd/login-action@v2 + uses: docker/login-action@v3 with: registry: ${{ secrets.REGISTRY_URL }} username: ${{ secrets.REGISTRY_USER }} @@ -72,11 +58,9 @@ jobs: fi - name: Build and Push Docker Image - # 使用本地Gitea仓库的build-push-action - uses: http://47.109.37.87:3000/cicd/build-push-action@v4 + uses: docker/build-push-action@v5 with: context: . file: ${{ steps.dockerfile-path.outputs.dockerfile_path }} tags: ${{ secrets.REGISTRY_URL }}/by2025/${{ matrix.service }}:${{ github.sha }} push: true - From d971fa0b92828daec54e3efeccb4bf7e976f0425 Mon Sep 17 00:00:00 2001 From: mocheng <3057647414@qq.com> Date: Wed, 13 Aug 2025 19:15:23 +0800 Subject: [PATCH 05/36] cicd --- .gitea/workflows/dev.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.gitea/workflows/dev.yml b/.gitea/workflows/dev.yml index 6d71a015..4af6e8c7 100644 --- a/.gitea/workflows/dev.yml +++ b/.gitea/workflows/dev.yml @@ -1,13 +1,11 @@ run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀 - on: push: branches: - master # 监听master分支 - jobs: build-and-push: - runs-on: ubuntu-latest + runs-on: ubuntu strategy: matrix: service: From 018714f3525a0f80d1e5549864913db8a91a84b6 Mon Sep 17 00:00:00 2001 From: mocheng <3057647414@qq.com> Date: Wed, 13 Aug 2025 19:19:19 +0800 Subject: [PATCH 06/36] cicd --- .gitea/workflows/dev.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/dev.yml b/.gitea/workflows/dev.yml index 4af6e8c7..8615566d 100644 --- a/.gitea/workflows/dev.yml +++ b/.gitea/workflows/dev.yml @@ -25,10 +25,10 @@ jobs: - ruoyi-snailjob-server steps: - name: Checkout Repository - uses: actions/checkout@v4 + uses: gitee/checkout@v4 - name: Set Up JDK - uses: actions/setup-java@v4 + uses: gitee/setup-java@v4 with: java-version: '17' distribution: 'temurin' From ae4969dad841473fc35e5364f85899bdc81f745f Mon Sep 17 00:00:00 2001 From: mocheng <3057647414@qq.com> Date: Wed, 13 Aug 2025 20:45:58 +0800 Subject: [PATCH 07/36] cicd --- .gitea/workflows/dev.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.gitea/workflows/dev.yml b/.gitea/workflows/dev.yml index 8615566d..9c57825a 100644 --- a/.gitea/workflows/dev.yml +++ b/.gitea/workflows/dev.yml @@ -25,10 +25,10 @@ jobs: - ruoyi-snailjob-server steps: - name: Checkout Repository - uses: gitee/checkout@v4 + uses: http://git.missmoc.top/mocheng/checkout@v4 - name: Set Up JDK - uses: gitee/setup-java@v4 + uses: http://git.missmoc.top/mocheng/setup-java@v4 with: java-version: '17' distribution: 'temurin' @@ -37,10 +37,10 @@ jobs: run: mvn clean package -DskipTests -f ./${{ matrix.service }}/pom.xml - name: Set Up Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: http://git.missmoc.top/mocheng/setup-buildx-action@v3 - name: Login to Gitea Container Registry - uses: docker/login-action@v3 + uses: http://git.missmoc.top/mocheng/login-action@v3 with: registry: ${{ secrets.REGISTRY_URL }} username: ${{ secrets.REGISTRY_USER }} @@ -56,7 +56,7 @@ jobs: fi - name: Build and Push Docker Image - uses: docker/build-push-action@v5 + uses: http://git.missmoc.top/mocheng/build-push-action@v5 with: context: . file: ${{ steps.dockerfile-path.outputs.dockerfile_path }} From fb80f4bba660cfbec3fa9b5b3f52f0b295105fdb Mon Sep 17 00:00:00 2001 From: bichangxiong <3057647414@qq.com> Date: Wed, 13 Aug 2025 21:38:57 +0800 Subject: [PATCH 08/36] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20.gitea/workflows/dev?= =?UTF-8?q?.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/dev.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/dev.yml b/.gitea/workflows/dev.yml index 9c57825a..a0a2ca3b 100644 --- a/.gitea/workflows/dev.yml +++ b/.gitea/workflows/dev.yml @@ -28,7 +28,7 @@ jobs: uses: http://git.missmoc.top/mocheng/checkout@v4 - name: Set Up JDK - uses: http://git.missmoc.top/mocheng/setup-java@v4 + uses: http://git.missmoc.top/mocheng/setup-java with: java-version: '17' distribution: 'temurin' From 26c292ea96954089e4e8525654586d24f2a5577f Mon Sep 17 00:00:00 2001 From: bichangxiong <3057647414@qq.com> Date: Wed, 13 Aug 2025 21:43:40 +0800 Subject: [PATCH 09/36] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20.gitea/workflows/dev?= =?UTF-8?q?.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/dev.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/dev.yml b/.gitea/workflows/dev.yml index a0a2ca3b..9c57825a 100644 --- a/.gitea/workflows/dev.yml +++ b/.gitea/workflows/dev.yml @@ -28,7 +28,7 @@ jobs: uses: http://git.missmoc.top/mocheng/checkout@v4 - name: Set Up JDK - uses: http://git.missmoc.top/mocheng/setup-java + uses: http://git.missmoc.top/mocheng/setup-java@v4 with: java-version: '17' distribution: 'temurin' From 4130a863ded27bac2f4f270ebe66c9aeb0a9066e Mon Sep 17 00:00:00 2001 From: bichangxiong <3057647414@qq.com> Date: Wed, 13 Aug 2025 23:47:59 +0800 Subject: [PATCH 10/36] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20.gitea/workflows/dev?= =?UTF-8?q?.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/dev.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitea/workflows/dev.yml b/.gitea/workflows/dev.yml index 9c57825a..c9cc2d37 100644 --- a/.gitea/workflows/dev.yml +++ b/.gitea/workflows/dev.yml @@ -24,6 +24,10 @@ jobs: - ruoyi-sentinel-dashboard - ruoyi-snailjob-server steps: + - name: Set up Node.js + uses: http://git.missmoc.top/mocheng/setup-node@v3 + with: + node-version: '16' # 指定需要的 Node.js 版本 - name: Checkout Repository uses: http://git.missmoc.top/mocheng/checkout@v4 From b09ba939ae4dd25f57a28dd196253b9c14c3cbab Mon Sep 17 00:00:00 2001 From: bichangxiong <3057647414@qq.com> Date: Thu, 14 Aug 2025 00:18:25 +0800 Subject: [PATCH 11/36] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20.gitea/workflows/dev?= =?UTF-8?q?.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/dev.yml | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/.gitea/workflows/dev.yml b/.gitea/workflows/dev.yml index c9cc2d37..501aae4d 100644 --- a/.gitea/workflows/dev.yml +++ b/.gitea/workflows/dev.yml @@ -31,11 +31,26 @@ jobs: - name: Checkout Repository uses: http://git.missmoc.top/mocheng/checkout@v4 - - name: Set Up JDK - uses: http://git.missmoc.top/mocheng/setup-java@v4 - with: - java-version: '17' - distribution: 'temurin' + # - name: Set Up JDK + # uses: http://git.missmoc.top/mocheng/setup-java@v4 + # with: + # java-version: '17' + # distribution: 'temurin' + # 移除原有的 uses: actions/setup-java@v3 步骤,替换为以下内容 + - name: 使用本地 JDK(ARM 架构) + run: | + # 设置 JAVA_HOME 为本地 JDK 路径 + echo "JAVA_HOME=/java17" >> $GITHUB_ENV + # 将 JDK 的 bin 目录添加到 PATH,确保命令可直接调用(如 java、javac) + echo "$JAVA_HOME/bin" >> $GITHUB_PATH + + - name: 验证 JDK 配置 + run: | + # 检查 Java 版本,确认是否正确指向本地 JDK + java -version + # 检查 JAVA_HOME 环境变量 + echo "JAVA_HOME: $JAVA_HOME" + - name: Build Project with Maven run: mvn clean package -DskipTests -f ./${{ matrix.service }}/pom.xml From cf60740347c881f621ad9759d7035fa91c95809b Mon Sep 17 00:00:00 2001 From: bichangxiong <3057647414@qq.com> Date: Thu, 14 Aug 2025 00:19:06 +0800 Subject: [PATCH 12/36] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20.gitea/workflows/dev?= =?UTF-8?q?.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/dev.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/dev.yml b/.gitea/workflows/dev.yml index 501aae4d..c94cf192 100644 --- a/.gitea/workflows/dev.yml +++ b/.gitea/workflows/dev.yml @@ -37,7 +37,7 @@ jobs: # java-version: '17' # distribution: 'temurin' # 移除原有的 uses: actions/setup-java@v3 步骤,替换为以下内容 - - name: 使用本地 JDK(ARM 架构) + - name: use JDK run: | # 设置 JAVA_HOME 为本地 JDK 路径 echo "JAVA_HOME=/java17" >> $GITHUB_ENV From abc1fdbc7abbf67ce66a6ed6c677a970a18ee5f5 Mon Sep 17 00:00:00 2001 From: bichangxiong <3057647414@qq.com> Date: Thu, 14 Aug 2025 00:20:00 +0800 Subject: [PATCH 13/36] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20.gitea/workflows/dev?= =?UTF-8?q?.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/dev.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.gitea/workflows/dev.yml b/.gitea/workflows/dev.yml index c94cf192..93746941 100644 --- a/.gitea/workflows/dev.yml +++ b/.gitea/workflows/dev.yml @@ -36,17 +36,17 @@ jobs: # with: # java-version: '17' # distribution: 'temurin' - # 移除原有的 uses: actions/setup-java@v3 步骤,替换为以下内容 + - name: use JDK run: | - # 设置 JAVA_HOME 为本地 JDK 路径 + echo "JAVA_HOME=/java17" >> $GITHUB_ENV - # 将 JDK 的 bin 目录添加到 PATH,确保命令可直接调用(如 java、javac) + echo "$JAVA_HOME/bin" >> $GITHUB_PATH - - name: 验证 JDK 配置 + - name: test jdk run: | - # 检查 Java 版本,确认是否正确指向本地 JDK + java -version # 检查 JAVA_HOME 环境变量 echo "JAVA_HOME: $JAVA_HOME" From aa94f476b61dc7f6cf34057b249fa6da41a3486d Mon Sep 17 00:00:00 2001 From: bichangxiong <3057647414@qq.com> Date: Thu, 14 Aug 2025 00:24:28 +0800 Subject: [PATCH 14/36] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20.gitea/workflows/dev?= =?UTF-8?q?.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/dev.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/dev.yml b/.gitea/workflows/dev.yml index 93746941..6a55f66f 100644 --- a/.gitea/workflows/dev.yml +++ b/.gitea/workflows/dev.yml @@ -40,7 +40,7 @@ jobs: - name: use JDK run: | - echo "JAVA_HOME=/java17" >> $GITHUB_ENV + echo "JAVA_HOME=/java17/java17" >> $GITHUB_ENV echo "$JAVA_HOME/bin" >> $GITHUB_PATH From c6e482b498a0b990b9629c01f38f3533cfd6b143 Mon Sep 17 00:00:00 2001 From: bichangxiong <3057647414@qq.com> Date: Thu, 14 Aug 2025 00:32:07 +0800 Subject: [PATCH 15/36] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20.gitea/workflows/dev?= =?UTF-8?q?.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/dev.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.gitea/workflows/dev.yml b/.gitea/workflows/dev.yml index 6a55f66f..b5831712 100644 --- a/.gitea/workflows/dev.yml +++ b/.gitea/workflows/dev.yml @@ -39,14 +39,11 @@ jobs: - name: use JDK run: | - echo "JAVA_HOME=/java17/java17" >> $GITHUB_ENV - echo "$JAVA_HOME/bin" >> $GITHUB_PATH - name: test jdk run: | - java -version # 检查 JAVA_HOME 环境变量 echo "JAVA_HOME: $JAVA_HOME" From 284d7a938c366d3dc90cf427bad3425f1984497d Mon Sep 17 00:00:00 2001 From: bichangxiong <3057647414@qq.com> Date: Thu, 14 Aug 2025 00:36:59 +0800 Subject: [PATCH 16/36] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20.gitea/workflows/dev?= =?UTF-8?q?.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/dev.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitea/workflows/dev.yml b/.gitea/workflows/dev.yml index b5831712..f7fdc205 100644 --- a/.gitea/workflows/dev.yml +++ b/.gitea/workflows/dev.yml @@ -41,12 +41,15 @@ jobs: run: | echo "JAVA_HOME=/java17/java17" >> $GITHUB_ENV echo "$JAVA_HOME/bin" >> $GITHUB_PATH + echo "MAVEN_HOME=/maven/apache-maven-3.9.11" >> $GITHUB_ENV + echo "$MAVEN_HOME/bin" >> $GITHUB_PATH - name: test jdk run: | java -version # 检查 JAVA_HOME 环境变量 echo "JAVA_HOME: $JAVA_HOME" + mvn -v - name: Build Project with Maven From 86939591f5d66cad0efed0ff48679b3ab4ee9164 Mon Sep 17 00:00:00 2001 From: bichangxiong <3057647414@qq.com> Date: Thu, 14 Aug 2025 00:43:20 +0800 Subject: [PATCH 17/36] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20.gitea/workflows/dev?= =?UTF-8?q?.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/dev.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/dev.yml b/.gitea/workflows/dev.yml index f7fdc205..bad5708c 100644 --- a/.gitea/workflows/dev.yml +++ b/.gitea/workflows/dev.yml @@ -49,7 +49,8 @@ jobs: java -version # 检查 JAVA_HOME 环境变量 echo "JAVA_HOME: $JAVA_HOME" - mvn -v + ls $MAVEN_HOME/bin/mvn + $MAVEN_HOME/bin/mvn -v - name: Build Project with Maven From dcda333d437575312175e8f81550cbdf76b6d117 Mon Sep 17 00:00:00 2001 From: bichangxiong <3057647414@qq.com> Date: Thu, 14 Aug 2025 00:44:35 +0800 Subject: [PATCH 18/36] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20.gitea/workflows/dev?= =?UTF-8?q?.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/dev.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/dev.yml b/.gitea/workflows/dev.yml index bad5708c..59297ff4 100644 --- a/.gitea/workflows/dev.yml +++ b/.gitea/workflows/dev.yml @@ -54,7 +54,7 @@ jobs: - name: Build Project with Maven - run: mvn clean package -DskipTests -f ./${{ matrix.service }}/pom.xml + run: $MAVEN_HOME/bin/mvn clean package -DskipTests -f ./${{ matrix.service }}/pom.xml - name: Set Up Docker Buildx uses: http://git.missmoc.top/mocheng/setup-buildx-action@v3 From 03fc2de13be0239fb97b496d89c41ffd1e0947da Mon Sep 17 00:00:00 2001 From: bichangxiong <3057647414@qq.com> Date: Thu, 14 Aug 2025 00:52:42 +0800 Subject: [PATCH 19/36] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20.gitea/workflows/dev?= =?UTF-8?q?.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/dev.yml | 174 +++++++++++++++++++++++++++++++++------ 1 file changed, 149 insertions(+), 25 deletions(-) diff --git a/.gitea/workflows/dev.yml b/.gitea/workflows/dev.yml index 59297ff4..53f57cd6 100644 --- a/.gitea/workflows/dev.yml +++ b/.gitea/workflows/dev.yml @@ -1,10 +1,98 @@ +# run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀 on: push: branches: - master # 监听master分支 + jobs: + # 前置任务:构建并安装项目通用模块(解决内部依赖问题) + build-common-modules: + runs-on: ubuntu + steps: + - name: Checkout Repository + uses: http://git.missmoc.top/mocheng/checkout@v4 + + - name: Set up environment (JDK + Maven) + run: | + # 配置JDK(确保路径与runner中实际安装路径一致) + echo "JAVA_HOME=/java17/java17" >> $GITHUB_ENV + echo "$JAVA_HOME/bin" >> $GITHUB_PATH + # 配置Maven + echo "MAVEN_HOME=/maven/apache-maven-3.9.11" >> $GITHUB_ENV + echo "$MAVEN_HOME/bin" >> $GITHUB_PATH + # 验证环境配置 + echo "Java version:" + java -version + echo "Maven version:" + $MAVEN_HOME/bin/mvn -v + echo "JAVA_HOME: $JAVA_HOME" + echo "MAVEN_HOME: $MAVEN_HOME" + + - name: Configure Maven settings + run: | + # 创建Maven配置文件,添加必要仓库 + mkdir -p ~/.m2 + cat > ~/.m2/settings.xml << EOF + + + + + + central + https://repo1.maven.org/maven2 + central + + + + dromara-repo + https://maven.dromara.org/repository/releases/ + dromara + + + + + + EOF + + - name: Build and install common modules + run: | + # 构建并安装项目通用模块(根据实际项目结构调整) + # 核心通用模块 + if [ -f "./ruoyi-common/pom.xml" ]; then + $MAVEN_HOME/bin/mvn clean install -DskipTests -f ./ruoyi-common/pom.xml + else + echo "Warning: ruoyi-common module not found" + fi + + # API模块 + if [ -f "./ruoyi-api/pom.xml" ]; then + $MAVEN_HOME/bin/mvn clean install -DskipTests -f ./ruoyi-api/pom.xml + else + echo "Warning: ruoyi-api module not found" + fi + + # BOM模块 + if [ -f "./ruoyi-common-bom/pom.xml" ]; then + $MAVEN_HOME/bin/mvn clean install -DskipTests -f ./ruoyi-common-bom/pom.xml + else + echo "Warning: ruoyi-common-bom module not found" + fi + + # 其他通用模块(根据实际情况添加) + # if [ -f "./other-common-module/pom.xml" ]; then + # $MAVEN_HOME/bin/mvn clean install -DskipTests -f ./other-common-module/pom.xml + # fi + + # 主任务:构建并推送各服务镜像 build-and-push: + needs: build-common-modules # 依赖通用模块构建完成 runs-on: ubuntu strategy: matrix: @@ -24,37 +112,53 @@ jobs: - ruoyi-sentinel-dashboard - ruoyi-snailjob-server steps: - - name: Set up Node.js - uses: http://git.missmoc.top/mocheng/setup-node@v3 - with: - node-version: '16' # 指定需要的 Node.js 版本 - name: Checkout Repository uses: http://git.missmoc.top/mocheng/checkout@v4 - # - name: Set Up JDK - # uses: http://git.missmoc.top/mocheng/setup-java@v4 - # with: - # java-version: '17' - # distribution: 'temurin' - - - name: use JDK - run: | - echo "JAVA_HOME=/java17/java17" >> $GITHUB_ENV - echo "$JAVA_HOME/bin" >> $GITHUB_PATH - echo "MAVEN_HOME=/maven/apache-maven-3.9.11" >> $GITHUB_ENV - echo "$MAVEN_HOME/bin" >> $GITHUB_PATH + - name: Set up Node.js (if needed) + uses: http://git.missmoc.top/mocheng/setup-node@v3 + with: + node-version: '16' + if: ${{ contains(matrix.service, 'frontend') || contains(matrix.service, 'vue') }} - - name: test jdk + - name: Set up environment (JDK + Maven) run: | + # 配置环境变量 + echo "JAVA_HOME=/java17/java17" >> $GITHUB_ENV + echo "$JAVA_HOME/bin" >> $GITHUB_PATH + echo "MAVEN_HOME=/maven/apache-maven-3.9.11" >> $GITHUB_ENV + echo "$MAVEN_HOME/bin" >> $GITHUB_PATH + # 验证环境 + echo "Java version:" java -version - # 检查 JAVA_HOME 环境变量 - echo "JAVA_HOME: $JAVA_HOME" - ls $MAVEN_HOME/bin/mvn + echo "Maven version:" $MAVEN_HOME/bin/mvn -v - - name: Build Project with Maven - run: $MAVEN_HOME/bin/mvn clean package -DskipTests -f ./${{ matrix.service }}/pom.xml + run: | + # 检查服务目录是否存在 + if [ ! -d "./${{ matrix.service }}" ]; then + echo "Error: Service directory ${{ matrix.service }} not found" + exit 1 + fi + + # 检查pom.xml是否存在 + if [ ! -f "./${{ matrix.service }}/pom.xml" ]; then + echo "Error: pom.xml not found in ${{ matrix.service }}" + exit 1 + fi + + # 执行构建 + $MAVEN_HOME/bin/mvn clean package -DskipTests -f ./${{ matrix.service }}/pom.xml + + # 检查构建结果 + if [ ! -d "./${{ matrix.service }}/target" ]; then + echo "Error: Build failed, target directory not found" + exit 1 + fi + + echo "Build successful for ${{ matrix.service }}" + ls -la ./${{ matrix.service }}/target/ - name: Set Up Docker Buildx uses: http://git.missmoc.top/mocheng/setup-buildx-action@v3 @@ -69,10 +173,21 @@ jobs: - name: Determine Dockerfile Path id: dockerfile-path run: | - if [ "${{ matrix.service }}" = "ruoyi-visual/ruoyi-nacos" ]; then - echo "dockerfile_path=./ruoyi-visual/ruoyi-nacos/Dockerfile" >> $GITHUB_OUTPUT + service_path="${{ matrix.service }}" + # 检查默认路径 + default_dockerfile="$service_path/Dockerfile" + # 检查通用路径 + common_dockerfile="Dockerfile" + + if [ -f "$default_dockerfile" ]; then + echo "dockerfile_path=$default_dockerfile" >> $GITHUB_OUTPUT + echo "Using Dockerfile at $default_dockerfile" + elif [ -f "$common_dockerfile" ]; then + echo "dockerfile_path=$common_dockerfile" >> $GITHUB_OUTPUT + echo "Using root Dockerfile for $service_path" else - echo "dockerfile_path=./${{ matrix.service }}/Dockerfile" >> $GITHUB_OUTPUT + echo "Error: Dockerfile not found for $service_path" + exit 1 fi - name: Build and Push Docker Image @@ -82,3 +197,12 @@ jobs: file: ${{ steps.dockerfile-path.outputs.dockerfile_path }} tags: ${{ secrets.REGISTRY_URL }}/by2025/${{ matrix.service }}:${{ github.sha }} push: true + # 启用缓存加速构建 + cache-from: type=gha + cache-to: type=gha,mode=max + # 构建参数 + build-args: | + SERVICE_NAME=${{ matrix.service }} + BUILD_TIMESTAMP=$(date +%Y%m%d%H%M%S) + # 显示构建详情 + progress: plain From 4341c88b1ca08331ce1929909bd35551ee406d9f Mon Sep 17 00:00:00 2001 From: bichangxiong <3057647414@qq.com> Date: Thu, 14 Aug 2025 00:52:56 +0800 Subject: [PATCH 20/36] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20.gitea/workflows/dev?= =?UTF-8?q?.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/dev.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitea/workflows/dev.yml b/.gitea/workflows/dev.yml index 53f57cd6..7184d59e 100644 --- a/.gitea/workflows/dev.yml +++ b/.gitea/workflows/dev.yml @@ -1,4 +1,3 @@ -# run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀 on: push: From d0f825e4c9db07afa6185ca11ae490b9bb489781 Mon Sep 17 00:00:00 2001 From: bichangxiong <3057647414@qq.com> Date: Thu, 14 Aug 2025 00:56:23 +0800 Subject: [PATCH 21/36] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20.gitea/workflows/dev?= =?UTF-8?q?.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/dev.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitea/workflows/dev.yml b/.gitea/workflows/dev.yml index 7184d59e..29bb3f78 100644 --- a/.gitea/workflows/dev.yml +++ b/.gitea/workflows/dev.yml @@ -18,6 +18,9 @@ jobs: echo "JAVA_HOME=/java17/java17" >> $GITHUB_ENV echo "$JAVA_HOME/bin" >> $GITHUB_PATH # 配置Maven + echo "MAVEN_HOME=/maven/apache-maven-3.9.11" >> $GITHUB_ENV + echo "$MAVEN_HOME/bin" >> $GITHUB_PATH + echo "MAVEN_HOME=/maven/apache-maven-3.9.11" >> $GITHUB_ENV echo "$MAVEN_HOME/bin" >> $GITHUB_PATH # 验证环境配置 From 507c2e4d8d7c91ebec1edaf2263a80ed8313a52c Mon Sep 17 00:00:00 2001 From: bichangxiong <3057647414@qq.com> Date: Thu, 14 Aug 2025 01:00:01 +0800 Subject: [PATCH 22/36] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20.gitea/workflows/dev?= =?UTF-8?q?.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/dev.yml | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/.gitea/workflows/dev.yml b/.gitea/workflows/dev.yml index 29bb3f78..a80e8f00 100644 --- a/.gitea/workflows/dev.yml +++ b/.gitea/workflows/dev.yml @@ -5,29 +5,22 @@ on: - master # 监听master分支 jobs: - # 前置任务:构建并安装项目通用模块(解决内部依赖问题) build-common-modules: runs-on: ubuntu steps: - name: Checkout Repository uses: http://git.missmoc.top/mocheng/checkout@v4 - - name: Set up environment (JDK + Maven) run: | - # 配置JDK(确保路径与runner中实际安装路径一致) echo "JAVA_HOME=/java17/java17" >> $GITHUB_ENV echo "$JAVA_HOME/bin" >> $GITHUB_PATH # 配置Maven echo "MAVEN_HOME=/maven/apache-maven-3.9.11" >> $GITHUB_ENV echo "$MAVEN_HOME/bin" >> $GITHUB_PATH - - echo "MAVEN_HOME=/maven/apache-maven-3.9.11" >> $GITHUB_ENV - echo "$MAVEN_HOME/bin" >> $GITHUB_PATH - # 验证环境配置 echo "Java version:" java -version echo "Maven version:" - $MAVEN_HOME/bin/mvn -v + /maven/apache-maven-3.9.11/bin/mvn -v echo "JAVA_HOME: $JAVA_HOME" echo "MAVEN_HOME: $MAVEN_HOME" @@ -68,21 +61,21 @@ jobs: # 构建并安装项目通用模块(根据实际项目结构调整) # 核心通用模块 if [ -f "./ruoyi-common/pom.xml" ]; then - $MAVEN_HOME/bin/mvn clean install -DskipTests -f ./ruoyi-common/pom.xml + /maven/apache-maven-3.9.11/bin/mvn clean install -DskipTests -f ./ruoyi-common/pom.xml else echo "Warning: ruoyi-common module not found" fi # API模块 if [ -f "./ruoyi-api/pom.xml" ]; then - $MAVEN_HOME/bin/mvn clean install -DskipTests -f ./ruoyi-api/pom.xml + /maven/apache-maven-3.9.11/bin/mvn clean install -DskipTests -f ./ruoyi-api/pom.xml else echo "Warning: ruoyi-api module not found" fi # BOM模块 if [ -f "./ruoyi-common-bom/pom.xml" ]; then - $MAVEN_HOME/bin/mvn clean install -DskipTests -f ./ruoyi-common-bom/pom.xml + /maven/apache-maven-3.9.11/bin/mvn clean install -DskipTests -f ./ruoyi-common-bom/pom.xml else echo "Warning: ruoyi-common-bom module not found" fi From f2d66263af8aab9c7c193f367c5dd27e3bc4420d Mon Sep 17 00:00:00 2001 From: bichangxiong <3057647414@qq.com> Date: Thu, 14 Aug 2025 01:06:52 +0800 Subject: [PATCH 23/36] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20.gitea/workflows/dev?= =?UTF-8?q?.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/dev.yml | 217 +++++++++++++++++---------------------- 1 file changed, 97 insertions(+), 120 deletions(-) diff --git a/.gitea/workflows/dev.yml b/.gitea/workflows/dev.yml index a80e8f00..56ee1a13 100644 --- a/.gitea/workflows/dev.yml +++ b/.gitea/workflows/dev.yml @@ -1,93 +1,111 @@ -run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀 +run-name: ${{ gitea.actor }} is building with parent POM first 🚀 on: push: branches: - - master # 监听master分支 + - master jobs: - build-common-modules: + # 步骤1:构建项目主POM(父模块),安装到本地仓库 + build-parent-pom: runs-on: ubuntu steps: - name: Checkout Repository uses: http://git.missmoc.top/mocheng/checkout@v4 + - name: Set up environment (JDK + Maven) run: | echo "JAVA_HOME=/java17/java17" >> $GITHUB_ENV echo "$JAVA_HOME/bin" >> $GITHUB_PATH - # 配置Maven echo "MAVEN_HOME=/maven/apache-maven-3.9.11" >> $GITHUB_ENV echo "$MAVEN_HOME/bin" >> $GITHUB_PATH - echo "Java version:" java -version - echo "Maven version:" - /maven/apache-maven-3.9.11/bin/mvn -v - echo "JAVA_HOME: $JAVA_HOME" - echo "MAVEN_HOME: $MAVEN_HOME" + $MAVEN_HOME/bin/mvn -v - - name: Configure Maven settings + - name: Configure Maven settings (本地优先 + 官方仓库) run: | - # 创建Maven配置文件,添加必要仓库 mkdir -p ~/.m2 cat > ~/.m2/settings.xml << EOF - - - - central - https://repo1.maven.org/maven2 - central - - - - dromara-repo - https://maven.dromara.org/repository/releases/ - dromara - - - - + ${user.home}/.m2/repository + + + local-first + + + local-repo + file://${user.home}/.m2/repository + true + true + + + dromara-releases + https://maven.dromara.org/repository/releases/ + + + public + https://mirrors.huaweicloud.com/repository/maven/ + false + + + + + + local-first + EOF + - name: Build and install parent POM (主POM) + run: | + # 主POM路径(通常在项目根目录) + MAIN_POM_PATH="./pom.xml" + if [ ! -f "$MAIN_POM_PATH" ]; then + echo "Error: 主POM文件 $MAIN_POM_PATH 不存在" + exit 1 + fi + # -N 表示只构建当前模块(不构建子模块),仅安装父POM到本地仓库 + $MAVEN_HOME/bin/mvn clean install -N -U -DskipTests -f $MAIN_POM_PATH + # 验证父POM是否安装成功 + ls ~/.m2/repository/org/dromara/ruoyi-cloud-plus/${{ github.sha }}/ # 替换为实际groupId/artifactId + + # 步骤2:构建通用模块(依赖主POM) + build-common-modules: + needs: build-parent-pom + runs-on: ubuntu + steps: + - name: Checkout Repository + uses: http://git.missmoc.top/mocheng/checkout@v4 + + - name: Set up environment + run: | + echo "JAVA_HOME=/java17/java17" >> $GITHUB_ENV + echo "$JAVA_HOME/bin" >> $GITHUB_PATH + echo "MAVEN_HOME=/maven/apache-maven-3.9.11" >> $GITHUB_ENV + echo "$MAVEN_HOME/bin" >> $GITHUB_PATH + - name: Build and install common modules run: | - # 构建并安装项目通用模块(根据实际项目结构调整) - # 核心通用模块 - if [ -f "./ruoyi-common/pom.xml" ]; then - /maven/apache-maven-3.9.11/bin/mvn clean install -DskipTests -f ./ruoyi-common/pom.xml - else - echo "Warning: ruoyi-common module not found" - fi - - # API模块 - if [ -f "./ruoyi-api/pom.xml" ]; then - /maven/apache-maven-3.9.11/bin/mvn clean install -DskipTests -f ./ruoyi-api/pom.xml - else - echo "Warning: ruoyi-api module not found" - fi - - # BOM模块 - if [ -f "./ruoyi-common-bom/pom.xml" ]; then - /maven/apache-maven-3.9.11/bin/mvn clean install -DskipTests -f ./ruoyi-common-bom/pom.xml - else - echo "Warning: ruoyi-common-bom module not found" - fi - - # 其他通用模块(根据实际情况添加) - # if [ -f "./other-common-module/pom.xml" ]; then - # $MAVEN_HOME/bin/mvn clean install -DskipTests -f ./other-common-module/pom.xml - # fi + # 通用模块列表(根据项目结构调整) + COMMON_MODULES=( + "ruoyi-common" + "ruoyi-api" + "ruoyi-common-bom" + "ruoyi-common-alibaba-bom" + ) + for module in "${COMMON_MODULES[@]}"; do + POM_PATH="./$module/pom.xml" + if [ -f "$POM_PATH" ]; then + echo "Building $module..." + $MAVEN_HOME/bin/mvn clean install -U -DskipTests -f $POM_PATH + else + echo "Warning: 通用模块 $module 不存在(路径:$POM_PATH)" + fi + done - # 主任务:构建并推送各服务镜像 - build-and-push: - needs: build-common-modules # 依赖通用模块构建完成 + # 步骤3:分服务构建镜像(依赖通用模块) + build-and-push-services: + needs: build-common-modules runs-on: ubuntu strategy: matrix: @@ -110,55 +128,30 @@ jobs: - name: Checkout Repository uses: http://git.missmoc.top/mocheng/checkout@v4 - - name: Set up Node.js (if needed) - uses: http://git.missmoc.top/mocheng/setup-node@v3 - with: - node-version: '16' - if: ${{ contains(matrix.service, 'frontend') || contains(matrix.service, 'vue') }} - - - name: Set up environment (JDK + Maven) + - name: Set up environment run: | - # 配置环境变量 echo "JAVA_HOME=/java17/java17" >> $GITHUB_ENV echo "$JAVA_HOME/bin" >> $GITHUB_PATH echo "MAVEN_HOME=/maven/apache-maven-3.9.11" >> $GITHUB_ENV echo "$MAVEN_HOME/bin" >> $GITHUB_PATH - # 验证环境 - echo "Java version:" - java -version - echo "Maven version:" - $MAVEN_HOME/bin/mvn -v - - name: Build Project with Maven + - name: Build service with Maven (依赖主POM和通用模块) run: | - # 检查服务目录是否存在 - if [ ! -d "./${{ matrix.service }}" ]; then - echo "Error: Service directory ${{ matrix.service }} not found" + SERVICE_PATH="${{ matrix.service }}" + POM_PATH="./$SERVICE_PATH/pom.xml" + if [ ! -f "$POM_PATH" ]; then + echo "Error: 服务 $SERVICE_PATH 的POM文件不存在" exit 1 fi - - # 检查pom.xml是否存在 - if [ ! -f "./${{ matrix.service }}/pom.xml" ]; then - echo "Error: pom.xml not found in ${{ matrix.service }}" - exit 1 - fi - - # 执行构建 - $MAVEN_HOME/bin/mvn clean package -DskipTests -f ./${{ matrix.service }}/pom.xml - - # 检查构建结果 - if [ ! -d "./${{ matrix.service }}/target" ]; then - echo "Error: Build failed, target directory not found" - exit 1 - fi - - echo "Build successful for ${{ matrix.service }}" - ls -la ./${{ matrix.service }}/target/ + # 构建服务(依赖已安装的主POM和通用模块) + $MAVEN_HOME/bin/mvn clean package -U -DskipTests -f $POM_PATH + # 检查构建产物 + ls ./$SERVICE_PATH/target/ - name: Set Up Docker Buildx uses: http://git.missmoc.top/mocheng/setup-buildx-action@v3 - - name: Login to Gitea Container Registry + - name: Login to Registry uses: http://git.missmoc.top/mocheng/login-action@v3 with: registry: ${{ secrets.REGISTRY_URL }} @@ -168,21 +161,12 @@ jobs: - name: Determine Dockerfile Path id: dockerfile-path run: | - service_path="${{ matrix.service }}" - # 检查默认路径 - default_dockerfile="$service_path/Dockerfile" - # 检查通用路径 - common_dockerfile="Dockerfile" - - if [ -f "$default_dockerfile" ]; then - echo "dockerfile_path=$default_dockerfile" >> $GITHUB_OUTPUT - echo "Using Dockerfile at $default_dockerfile" - elif [ -f "$common_dockerfile" ]; then - echo "dockerfile_path=$common_dockerfile" >> $GITHUB_OUTPUT - echo "Using root Dockerfile for $service_path" + SERVICE_PATH="${{ matrix.service }}" + DOCKERFILE="$SERVICE_PATH/Dockerfile" + if [ -f "$DOCKERFILE" ]; then + echo "dockerfile_path=$DOCKERFILE" >> $GITHUB_OUTPUT else - echo "Error: Dockerfile not found for $service_path" - exit 1 + echo "dockerfile_path=./Dockerfile" >> $GITHUB_OUTPUT fi - name: Build and Push Docker Image @@ -192,12 +176,5 @@ jobs: file: ${{ steps.dockerfile-path.outputs.dockerfile_path }} tags: ${{ secrets.REGISTRY_URL }}/by2025/${{ matrix.service }}:${{ github.sha }} push: true - # 启用缓存加速构建 cache-from: type=gha - cache-to: type=gha,mode=max - # 构建参数 - build-args: | - SERVICE_NAME=${{ matrix.service }} - BUILD_TIMESTAMP=$(date +%Y%m%d%H%M%S) - # 显示构建详情 - progress: plain + cache-to: type=gha,mode=max \ No newline at end of file From 22dadcfdd9c4d75c1c353f0a83245971e154e64e Mon Sep 17 00:00:00 2001 From: bichangxiong <3057647414@qq.com> Date: Thu, 14 Aug 2025 01:08:21 +0800 Subject: [PATCH 24/36] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20.gitea/workflows/dev?= =?UTF-8?q?.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/dev.yml | 73 ++++++++++++++++++++-------------------- 1 file changed, 37 insertions(+), 36 deletions(-) diff --git a/.gitea/workflows/dev.yml b/.gitea/workflows/dev.yml index 56ee1a13..05b91aa3 100644 --- a/.gitea/workflows/dev.yml +++ b/.gitea/workflows/dev.yml @@ -5,7 +5,6 @@ on: - master jobs: - # 步骤1:构建项目主POM(父模块),安装到本地仓库 build-parent-pom: runs-on: ubuntu steps: @@ -14,14 +13,31 @@ jobs: - name: Set up environment (JDK + Maven) run: | + # 配置 JDK(确认路径正确,与实际安装一致) echo "JAVA_HOME=/java17/java17" >> $GITHUB_ENV echo "$JAVA_HOME/bin" >> $GITHUB_PATH - echo "MAVEN_HOME=/maven/apache-maven-3.9.11" >> $GITHUB_ENV - echo "$MAVEN_HOME/bin" >> $GITHUB_PATH + + # 修复 Maven 路径:先确认 runner 中 Maven 的实际安装位置 + # 常见路径:/usr/local/maven、/opt/maven、/maven 等,根据实际情况修改 + MAVEN_ACTUAL_PATH="/maven/apache-maven-3.9.11" # 关键:替换为 runner 中 Maven 的真实路径 + + # 验证 Maven 可执行文件是否存在 + if [ ! -f "$MAVEN_ACTUAL_PATH/bin/mvn" ]; then + echo "Error: Maven 可执行文件不存在于 $MAVEN_ACTUAL_PATH/bin/mvn" + exit 1 + fi + + # 配置 Maven 环境变量 + echo "MAVEN_HOME=$MAVEN_ACTUAL_PATH" >> $GITHUB_ENV + echo "$MAVEN_ACTUAL_PATH/bin" >> $GITHUB_PATH + + # 验证配置 + echo "Java 版本:" java -version - $MAVEN_HOME/bin/mvn -v + echo "Maven 版本:" + mvn -v # 此处若仍报错,说明路径确实错误,需重新确认 - - name: Configure Maven settings (本地优先 + 官方仓库) + - name: Configure Maven settings run: | mkdir -p ~/.m2 cat > ~/.m2/settings.xml << EOF @@ -35,18 +51,11 @@ jobs: local-repo file://${user.home}/.m2/repository - true - true dromara-releases https://maven.dromara.org/repository/releases/ - - public - https://mirrors.huaweicloud.com/repository/maven/ - false - @@ -56,20 +65,15 @@ jobs: EOF - - name: Build and install parent POM (主POM) + - name: Build and install parent POM run: | - # 主POM路径(通常在项目根目录) MAIN_POM_PATH="./pom.xml" if [ ! -f "$MAIN_POM_PATH" ]; then - echo "Error: 主POM文件 $MAIN_POM_PATH 不存在" + echo "Error: 主POM文件不存在" exit 1 fi - # -N 表示只构建当前模块(不构建子模块),仅安装父POM到本地仓库 - $MAVEN_HOME/bin/mvn clean install -N -U -DskipTests -f $MAIN_POM_PATH - # 验证父POM是否安装成功 - ls ~/.m2/repository/org/dromara/ruoyi-cloud-plus/${{ github.sha }}/ # 替换为实际groupId/artifactId + mvn clean install -N -U -DskipTests -f $MAIN_POM_PATH - # 步骤2:构建通用模块(依赖主POM) build-common-modules: needs: build-parent-pom runs-on: ubuntu @@ -81,29 +85,27 @@ jobs: run: | echo "JAVA_HOME=/java17/java17" >> $GITHUB_ENV echo "$JAVA_HOME/bin" >> $GITHUB_PATH - echo "MAVEN_HOME=/maven/apache-maven-3.9.11" >> $GITHUB_ENV - echo "$MAVEN_HOME/bin" >> $GITHUB_PATH + MAVEN_ACTUAL_PATH="/maven/apache-maven-3.9.11" # 与上文一致 + echo "MAVEN_HOME=$MAVEN_ACTUAL_PATH" >> $GITHUB_ENV + echo "$MAVEN_ACTUAL_PATH/bin" >> $GITHUB_PATH + mvn -v # 验证 - name: Build and install common modules run: | - # 通用模块列表(根据项目结构调整) COMMON_MODULES=( "ruoyi-common" "ruoyi-api" "ruoyi-common-bom" - "ruoyi-common-alibaba-bom" ) for module in "${COMMON_MODULES[@]}"; do POM_PATH="./$module/pom.xml" if [ -f "$POM_PATH" ]; then - echo "Building $module..." - $MAVEN_HOME/bin/mvn clean install -U -DskipTests -f $POM_PATH + mvn clean install -U -DskipTests -f $POM_PATH else - echo "Warning: 通用模块 $module 不存在(路径:$POM_PATH)" + echo "Warning: 模块 $module 不存在" fi done - # 步骤3:分服务构建镜像(依赖通用模块) build-and-push-services: needs: build-common-modules runs-on: ubuntu @@ -132,21 +134,20 @@ jobs: run: | echo "JAVA_HOME=/java17/java17" >> $GITHUB_ENV echo "$JAVA_HOME/bin" >> $GITHUB_PATH - echo "MAVEN_HOME=/maven/apache-maven-3.9.11" >> $GITHUB_ENV - echo "$MAVEN_HOME/bin" >> $GITHUB_PATH + MAVEN_ACTUAL_PATH="/maven/apache-maven-3.9.11" # 与上文一致 + echo "MAVEN_HOME=$MAVEN_ACTUAL_PATH" >> $GITHUB_ENV + echo "$MAVEN_ACTUAL_PATH/bin" >> $GITHUB_PATH + mvn -v # 验证 - - name: Build service with Maven (依赖主POM和通用模块) + - name: Build service with Maven run: | SERVICE_PATH="${{ matrix.service }}" POM_PATH="./$SERVICE_PATH/pom.xml" if [ ! -f "$POM_PATH" ]; then - echo "Error: 服务 $SERVICE_PATH 的POM文件不存在" + echo "Error: POM文件不存在" exit 1 fi - # 构建服务(依赖已安装的主POM和通用模块) - $MAVEN_HOME/bin/mvn clean package -U -DskipTests -f $POM_PATH - # 检查构建产物 - ls ./$SERVICE_PATH/target/ + mvn clean package -U -DskipTests -f $POM_PATH - name: Set Up Docker Buildx uses: http://git.missmoc.top/mocheng/setup-buildx-action@v3 From 7bbf011dcfaeb9cf9fcdbee0c131173209833b28 Mon Sep 17 00:00:00 2001 From: bichangxiong <3057647414@qq.com> Date: Thu, 14 Aug 2025 01:11:07 +0800 Subject: [PATCH 25/36] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20.gitea/workflows/dev?= =?UTF-8?q?.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/dev.yml | 173 ++++++++++++++++++++++++--------------- 1 file changed, 109 insertions(+), 64 deletions(-) diff --git a/.gitea/workflows/dev.yml b/.gitea/workflows/dev.yml index 05b91aa3..889a5863 100644 --- a/.gitea/workflows/dev.yml +++ b/.gitea/workflows/dev.yml @@ -1,43 +1,47 @@ -run-name: ${{ gitea.actor }} is building with parent POM first 🚀 +run-name: ${{ gitea.actor }} 构建主POM并分模块打包 🚀 on: push: branches: - master jobs: + # 第一步:构建主POM(父模块)并安装到本地仓库 build-parent-pom: runs-on: ubuntu steps: - - name: Checkout Repository + - name: 拉取代码仓库 uses: http://git.missmoc.top/mocheng/checkout@v4 - - name: Set up environment (JDK + Maven) + - name: 配置环境变量(使用绝对路径) run: | - # 配置 JDK(确认路径正确,与实际安装一致) - echo "JAVA_HOME=/java17/java17" >> $GITHUB_ENV - echo "$JAVA_HOME/bin" >> $GITHUB_PATH + # 配置JDK绝对路径(必须与runner中实际路径一致) + export JAVA_HOME="/java17/java17" + # 配置Maven绝对路径(必须与runner中实际路径一致) + export MAVEN_HOME="/maven/apache-maven-3.9.11" - # 修复 Maven 路径:先确认 runner 中 Maven 的实际安装位置 - # 常见路径:/usr/local/maven、/opt/maven、/maven 等,根据实际情况修改 - MAVEN_ACTUAL_PATH="/maven/apache-maven-3.9.11" # 关键:替换为 runner 中 Maven 的真实路径 - - # 验证 Maven 可执行文件是否存在 - if [ ! -f "$MAVEN_ACTUAL_PATH/bin/mvn" ]; then - echo "Error: Maven 可执行文件不存在于 $MAVEN_ACTUAL_PATH/bin/mvn" + # 验证JDK和Maven可执行文件是否存在 + if [ ! -f "$JAVA_HOME/bin/java" ]; then + echo "错误:JDK可执行文件不存在于 $JAVA_HOME/bin/java" + exit 1 + fi + if [ ! -f "$MAVEN_HOME/bin/mvn" ]; then + echo "错误:Maven可执行文件不存在于 $MAVEN_HOME/bin/mvn" exit 1 fi - # 配置 Maven 环境变量 - echo "MAVEN_HOME=$MAVEN_ACTUAL_PATH" >> $GITHUB_ENV - echo "$MAVEN_ACTUAL_PATH/bin" >> $GITHUB_PATH + # 写入环境变量(确保后续步骤可用) + echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV + echo "$JAVA_HOME/bin" >> $GITHUB_PATH + echo "MAVEN_HOME=$MAVEN_HOME" >> $GITHUB_ENV + echo "$MAVEN_HOME/bin" >> $GITHUB_PATH - # 验证配置 - echo "Java 版本:" - java -version - echo "Maven 版本:" - mvn -v # 此处若仍报错,说明路径确实错误,需重新确认 + # 验证环境配置 + echo "=== JDK版本 ===" + "$JAVA_HOME/bin/java" -version + echo "=== Maven版本 ===" + "$MAVEN_HOME/bin/mvn" -v - - name: Configure Maven settings + - name: 配置Maven仓库(本地优先) run: | mkdir -p ~/.m2 cat > ~/.m2/settings.xml << EOF @@ -51,6 +55,8 @@ jobs: local-repo file://${user.home}/.m2/repository + true + true dromara-releases @@ -65,47 +71,72 @@ jobs: EOF - - name: Build and install parent POM + - name: 构建并安装主POM(父模块) run: | - MAIN_POM_PATH="./pom.xml" - if [ ! -f "$MAIN_POM_PATH" ]; then - echo "Error: 主POM文件不存在" + # 主POM绝对路径 + MAIN_POM_ABSOLUTE_PATH="${GITHUB_WORKSPACE}/pom.xml" + echo "主POM路径:$MAIN_POM_ABSOLUTE_PATH" + + if [ ! -f "$MAIN_POM_ABSOLUTE_PATH" ]; then + echo "错误:主POM文件不存在于 $MAIN_POM_ABSOLUTE_PATH" exit 1 fi - mvn clean install -N -U -DskipTests -f $MAIN_POM_PATH + + # 使用绝对路径执行Maven命令,仅构建父模块(-N) + "$MAVEN_HOME/bin/mvn" clean install -N -U -DskipTests -f "$MAIN_POM_ABSOLUTE_PATH" + + # 验证主POM是否安装成功 + echo "=== 验证主POM安装 ===" + ls -la ~/.m2/repository/org/dromara/ruoyi-cloud-plus/ + # 第二步:构建通用模块(依赖主POM) build-common-modules: needs: build-parent-pom runs-on: ubuntu steps: - - name: Checkout Repository + - name: 拉取代码仓库 uses: http://git.missmoc.top/mocheng/checkout@v4 - - name: Set up environment + - name: 配置环境变量(绝对路径) run: | - echo "JAVA_HOME=/java17/java17" >> $GITHUB_ENV + export JAVA_HOME="/java17/java17" + export MAVEN_HOME="/maven/apache-maven-3.9.11" + echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV echo "$JAVA_HOME/bin" >> $GITHUB_PATH - MAVEN_ACTUAL_PATH="/maven/apache-maven-3.9.11" # 与上文一致 - echo "MAVEN_HOME=$MAVEN_ACTUAL_PATH" >> $GITHUB_ENV - echo "$MAVEN_ACTUAL_PATH/bin" >> $GITHUB_PATH - mvn -v # 验证 + echo "MAVEN_HOME=$MAVEN_HOME" >> $GITHUB_ENV + echo "$MAVEN_HOME/bin" >> $GITHUB_PATH - - name: Build and install common modules + - name: 构建并安装通用模块 run: | + # 通用模块列表(根据实际项目结构调整) COMMON_MODULES=( "ruoyi-common" "ruoyi-api" "ruoyi-common-bom" + "ruoyi-common-alibaba-bom" + "ruoyi-api-bom" ) + for module in "${COMMON_MODULES[@]}"; do - POM_PATH="./$module/pom.xml" - if [ -f "$POM_PATH" ]; then - mvn clean install -U -DskipTests -f $POM_PATH - else - echo "Warning: 模块 $module 不存在" + # 模块POM的绝对路径 + MODULE_POM_ABSOLUTE_PATH="${GITHUB_WORKSPACE}/${module}/pom.xml" + echo "=== 构建模块:$module ===" + echo "POM路径:$MODULE_POM_ABSOLUTE_PATH" + + if [ ! -f "$MODULE_POM_ABSOLUTE_PATH" ]; then + echo "警告:模块 $module 的POM文件不存在,跳过" + continue fi + + # 使用Maven绝对路径执行命令 + "$MAVEN_HOME/bin/mvn" clean install -U -DskipTests -f "$MODULE_POM_ABSOLUTE_PATH" + + # 验证模块是否安装成功 + MODULE_GROUP_ID="org.dromara" + ls -la ~/.m2/repository/"${MODULE_GROUP_ID//.//}"/"$module"/ done + # 第三步:分服务构建镜像并上传(依赖通用模块) build-and-push-services: needs: build-common-modules runs-on: ubuntu @@ -127,55 +158,69 @@ jobs: - ruoyi-sentinel-dashboard - ruoyi-snailjob-server steps: - - name: Checkout Repository + - name: 拉取代码仓库 uses: http://git.missmoc.top/mocheng/checkout@v4 - - name: Set up environment + - name: 配置环境变量(绝对路径) run: | - echo "JAVA_HOME=/java17/java17" >> $GITHUB_ENV + export JAVA_HOME="/java17/java17" + export MAVEN_HOME="/maven/apache-maven-3.9.11" + echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV echo "$JAVA_HOME/bin" >> $GITHUB_PATH - MAVEN_ACTUAL_PATH="/maven/apache-maven-3.9.11" # 与上文一致 - echo "MAVEN_HOME=$MAVEN_ACTUAL_PATH" >> $GITHUB_ENV - echo "$MAVEN_ACTUAL_PATH/bin" >> $GITHUB_PATH - mvn -v # 验证 + echo "MAVEN_HOME=$MAVEN_HOME" >> $GITHUB_ENV + echo "$MAVEN_HOME/bin" >> $GITHUB_PATH - - name: Build service with Maven + - name: 构建服务模块 run: | - SERVICE_PATH="${{ matrix.service }}" - POM_PATH="./$SERVICE_PATH/pom.xml" - if [ ! -f "$POM_PATH" ]; then - echo "Error: POM文件不存在" + SERVICE_NAME="${{ matrix.service }}" + # 服务POM的绝对路径 + SERVICE_POM_ABSOLUTE_PATH="${GITHUB_WORKSPACE}/${SERVICE_NAME}/pom.xml" + echo "=== 构建服务:$SERVICE_NAME ===" + echo "POM路径:$SERVICE_POM_ABSOLUTE_PATH" + + if [ ! -f "$SERVICE_POM_ABSOLUTE_PATH" ]; then + echo "错误:服务 $SERVICE_NAME 的POM文件不存在" exit 1 fi - mvn clean package -U -DskipTests -f $POM_PATH + + # 使用Maven绝对路径执行打包命令 + "$MAVEN_HOME/bin/mvn" clean package -U -DskipTests -f "$SERVICE_POM_ABSOLUTE_PATH" + + # 验证构建产物 + echo "=== 构建产物 ===" + ls -la "${GITHUB_WORKSPACE}/${SERVICE_NAME}/target/" - - name: Set Up Docker Buildx + - name: 配置Docker Buildx uses: http://git.missmoc.top/mocheng/setup-buildx-action@v3 - - name: Login to Registry + - name: 登录到容器仓库 uses: http://git.missmoc.top/mocheng/login-action@v3 with: registry: ${{ secrets.REGISTRY_URL }} username: ${{ secrets.REGISTRY_USER }} password: ${{ secrets.REGISTRY_PASS }} - - name: Determine Dockerfile Path + - name: 确定Dockerfile路径 id: dockerfile-path run: | - SERVICE_PATH="${{ matrix.service }}" - DOCKERFILE="$SERVICE_PATH/Dockerfile" - if [ -f "$DOCKERFILE" ]; then - echo "dockerfile_path=$DOCKERFILE" >> $GITHUB_OUTPUT + SERVICE_NAME="${{ matrix.service }}" + DOCKERFILE_ABSOLUTE_PATH="${GITHUB_WORKSPACE}/${SERVICE_NAME}/Dockerfile" + + if [ -f "$DOCKERFILE_ABSOLUTE_PATH" ]; then + echo "dockerfile_path=$DOCKERFILE_ABSOLUTE_PATH" >> $GITHUB_OUTPUT + echo "使用Dockerfile:$DOCKERFILE_ABSOLUTE_PATH" else - echo "dockerfile_path=./Dockerfile" >> $GITHUB_OUTPUT + echo "dockerfile_path=${GITHUB_WORKSPACE}/Dockerfile" >> $GITHUB_OUTPUT + echo "使用根目录Dockerfile:${GITHUB_WORKSPACE}/Dockerfile" fi - - name: Build and Push Docker Image + - name: 构建并推送Docker镜像 uses: http://git.missmoc.top/mocheng/build-push-action@v5 with: - context: . + context: "${GITHUB_WORKSPACE}" file: ${{ steps.dockerfile-path.outputs.dockerfile_path }} tags: ${{ secrets.REGISTRY_URL }}/by2025/${{ matrix.service }}:${{ github.sha }} push: true cache-from: type=gha - cache-to: type=gha,mode=max \ No newline at end of file + cache-to: type=gha,mode=max + \ No newline at end of file From 33ea126b95f9225f875aa5fca8dd980d2b73a570 Mon Sep 17 00:00:00 2001 From: bichangxiong <3057647414@qq.com> Date: Thu, 14 Aug 2025 01:17:03 +0800 Subject: [PATCH 26/36] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20.gitea/workflows/dev?= =?UTF-8?q?.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/dev.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/dev.yml b/.gitea/workflows/dev.yml index 889a5863..a2305c1c 100644 --- a/.gitea/workflows/dev.yml +++ b/.gitea/workflows/dev.yml @@ -47,14 +47,14 @@ jobs: cat > ~/.m2/settings.xml << EOF - ${user.home}/.m2/repository + /root/.m2/repository local-first local-repo - file://${user.home}/.m2/repository + file:///root/.m2/repository true true From 43f07b739653018b820bedce6a2b02fd3d45deda Mon Sep 17 00:00:00 2001 From: bichangxiong <3057647414@qq.com> Date: Thu, 14 Aug 2025 01:22:44 +0800 Subject: [PATCH 27/36] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20.gitea/workflows/dev?= =?UTF-8?q?.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/dev.yml | 252 +++++++++++++++++++++------------------ 1 file changed, 137 insertions(+), 115 deletions(-) diff --git a/.gitea/workflows/dev.yml b/.gitea/workflows/dev.yml index a2305c1c..0d2e7861 100644 --- a/.gitea/workflows/dev.yml +++ b/.gitea/workflows/dev.yml @@ -1,103 +1,138 @@ -run-name: ${{ gitea.actor }} 构建主POM并分模块打包 🚀 +run-name: ${{ gitea.actor }} 构建镜像并推送(不含JAR依赖上传)🚀 on: push: branches: - master jobs: - # 第一步:构建主POM(父模块)并安装到本地仓库 build-parent-pom: - runs-on: ubuntu - steps: - - name: 拉取代码仓库 - uses: http://git.missmoc.top/mocheng/checkout@v4 - - - name: 配置环境变量(使用绝对路径) - run: | - # 配置JDK绝对路径(必须与runner中实际路径一致) - export JAVA_HOME="/java17/java17" - # 配置Maven绝对路径(必须与runner中实际路径一致) - export MAVEN_HOME="/maven/apache-maven-3.9.11" - - # 验证JDK和Maven可执行文件是否存在 - if [ ! -f "$JAVA_HOME/bin/java" ]; then - echo "错误:JDK可执行文件不存在于 $JAVA_HOME/bin/java" - exit 1 - fi - if [ ! -f "$MAVEN_HOME/bin/mvn" ]; then - echo "错误:Maven可执行文件不存在于 $MAVEN_HOME/bin/mvn" - exit 1 - fi - - # 写入环境变量(确保后续步骤可用) - echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV - echo "$JAVA_HOME/bin" >> $GITHUB_PATH - echo "MAVEN_HOME=$MAVEN_HOME" >> $GITHUB_ENV - echo "$MAVEN_HOME/bin" >> $GITHUB_PATH - - # 验证环境配置 - echo "=== JDK版本 ===" - "$JAVA_HOME/bin/java" -version - echo "=== Maven版本 ===" - "$MAVEN_HOME/bin/mvn" -v - - - name: 配置Maven仓库(本地优先) - run: | - mkdir -p ~/.m2 - cat > ~/.m2/settings.xml << EOF - - - /root/.m2/repository - - - local-first - - - local-repo - file:///root/.m2/repository - true - true - - - dromara-releases - https://maven.dromara.org/repository/releases/ - - - - - - local-first - - - EOF - - - name: 构建并安装主POM(父模块) - run: | - # 主POM绝对路径 - MAIN_POM_ABSOLUTE_PATH="${GITHUB_WORKSPACE}/pom.xml" - echo "主POM路径:$MAIN_POM_ABSOLUTE_PATH" - - if [ ! -f "$MAIN_POM_ABSOLUTE_PATH" ]; then - echo "错误:主POM文件不存在于 $MAIN_POM_ABSOLUTE_PATH" - exit 1 - fi - - # 使用绝对路径执行Maven命令,仅构建父模块(-N) - "$MAVEN_HOME/bin/mvn" clean install -N -U -DskipTests -f "$MAIN_POM_ABSOLUTE_PATH" - - # 验证主POM是否安装成功 - echo "=== 验证主POM安装 ===" - ls -la ~/.m2/repository/org/dromara/ruoyi-cloud-plus/ - - # 第二步:构建通用模块(依赖主POM) - build-common-modules: - needs: build-parent-pom runs-on: ubuntu steps: - name: 拉取代码仓库 uses: http://git.missmoc.top/mocheng/checkout@v4 - name: 配置环境变量(绝对路径) + run: | + export JAVA_HOME="/java17/java17" + export MAVEN_HOME="/maven/apache-maven-3.9.11" + + if [ ! -f "$JAVA_HOME/bin/java" ]; then + echo "错误:JDK可执行文件不存在于 $JAVA_HOME/bin/java" + exit 1 + fi + if [ ! -f "$MAVEN_HOME/bin/mvn" ]; then + echo "错误:Maven可执行文件不存在于 $MAVEN_HOME/bin/mvn" + exit 1 + fi + + echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV + echo "$JAVA_HOME/bin" >> $GITHUB_PATH + echo "MAVEN_HOME=$MAVEN_HOME" >> $GITHUB_ENV + echo "$MAVEN_HOME/bin" >> $GITHUB_PATH + + "$JAVA_HOME/bin/java" -version + "$MAVEN_HOME/bin/mvn" -v + + - name: 配置Maven仓库 + run: | + mkdir -p ~/.m2 + cat > ~/.m2/settings.xml << EOF + + + $HOME/.m2/repository + + + multi-repo + + + local-repo + file://$HOME/.m2/repository + + + dromara-releases + https://maven.dromara.org/repository/releases/ + + + aliyun-public + https://maven.aliyun.com/repository/public + + + + + + multi-repo + + + EOF + + - name: 手动安装必要BOM依赖 + run: | + mkdir -p /tmp/maven-dependencies + + declare -A BOM_ARTIFACTS=( + ["ruoyi-common-alibaba-bom"]="2.4.0" + ["ruoyi-common-bom"]="2.4.0" + ["ruoyi-api-bom"]="2.4.0" + ) + + for artifact in "${!BOM_ARTIFACTS[@]}"; do + version=${BOM_ARTIFACTS[$artifact]} + group_id="org.dromara" + local_path="$HOME/.m2/repository/${group_id//.//}/$artifact/$version/$artifact-$version.pom" + + if [ -f "$local_path" ]; then + echo "本地已存在 $artifact:$version,跳过" + continue + fi + + repos=( + "https://maven.dromara.org/repository/releases" + "https://maven.aliyun.com/repository/public" + ) + + downloaded=false + for repo in "${repos[@]}"; do + url="$repo/${group_id//.//}/$artifact/$version/$artifact-$version.pom" + if wget -q -O "/tmp/maven-dependencies/$artifact-$version.pom" "$url"; then + "$MAVEN_HOME/bin/mvn" install:install-file \ + -Dfile="/tmp/maven-dependencies/$artifact-$version.pom" \ + -DgroupId="$group_id" \ + -DartifactId="$artifact" \ + -Dversion="$version" \ + -Dpackaging=pom + downloaded=true + break + fi + done + done + + - name: 构建主POM(仅本地安装,不上传) + run: | + MAIN_POM_ABSOLUTE_PATH="${GITHUB_WORKSPACE}/pom.xml" + if [ ! -f "$MAIN_POM_ABSOLUTE_PATH" ]; then + echo "错误:主POM文件不存在" + exit 1 + fi + + retries=3 + count=0 + until "$MAVEN_HOME/bin/mvn" clean install -N -U -DskipTests -f "$MAIN_POM_ABSOLUTE_PATH"; do + count=$((count + 1)) + if [ $count -ge $retries ]; then + echo "错误:主POM构建失败" + exit 1 + fi + sleep 10 + done + + build-common-modules: + needs: build-parent-pom + runs-on: ubuntu + steps: + - name: 拉取代码仓库 + uses: http://git.missmoc.top/mocheng/checkout@v4 + + - name: 配置环境变量 run: | export JAVA_HOME="/java17/java17" export MAVEN_HOME="/maven/apache-maven-3.9.11" @@ -106,9 +141,8 @@ jobs: echo "MAVEN_HOME=$MAVEN_HOME" >> $GITHUB_ENV echo "$MAVEN_HOME/bin" >> $GITHUB_PATH - - name: 构建并安装通用模块 + - name: 构建通用模块(仅本地使用,不上传) run: | - # 通用模块列表(根据实际项目结构调整) COMMON_MODULES=( "ruoyi-common" "ruoyi-api" @@ -118,25 +152,24 @@ jobs: ) for module in "${COMMON_MODULES[@]}"; do - # 模块POM的绝对路径 MODULE_POM_ABSOLUTE_PATH="${GITHUB_WORKSPACE}/${module}/pom.xml" - echo "=== 构建模块:$module ===" - echo "POM路径:$MODULE_POM_ABSOLUTE_PATH" - if [ ! -f "$MODULE_POM_ABSOLUTE_PATH" ]; then - echo "警告:模块 $module 的POM文件不存在,跳过" + echo "警告:模块 $module 不存在,跳过" continue fi - # 使用Maven绝对路径执行命令 - "$MAVEN_HOME/bin/mvn" clean install -U -DskipTests -f "$MODULE_POM_ABSOLUTE_PATH" - - # 验证模块是否安装成功 - MODULE_GROUP_ID="org.dromara" - ls -la ~/.m2/repository/"${MODULE_GROUP_ID//.//}"/"$module"/ + retries=3 + count=0 + until "$MAVEN_HOME/bin/mvn" clean install -U -DskipTests -f "$MODULE_POM_ABSOLUTE_PATH"; do + count=$((count + 1)) + if [ $count -ge $retries ]; then + echo "错误:模块 $module 构建失败" + exit 1 + fi + sleep 10 + done done - # 第三步:分服务构建镜像并上传(依赖通用模块) build-and-push-services: needs: build-common-modules runs-on: ubuntu @@ -161,7 +194,7 @@ jobs: - name: 拉取代码仓库 uses: http://git.missmoc.top/mocheng/checkout@v4 - - name: 配置环境变量(绝对路径) + - name: 配置环境变量 run: | export JAVA_HOME="/java17/java17" export MAVEN_HOME="/maven/apache-maven-3.9.11" @@ -170,25 +203,16 @@ jobs: echo "MAVEN_HOME=$MAVEN_HOME" >> $GITHUB_ENV echo "$MAVEN_HOME/bin" >> $GITHUB_PATH - - name: 构建服务模块 + - name: 构建服务模块(仅用于镜像构建,不上传JAR) run: | SERVICE_NAME="${{ matrix.service }}" - # 服务POM的绝对路径 SERVICE_POM_ABSOLUTE_PATH="${GITHUB_WORKSPACE}/${SERVICE_NAME}/pom.xml" - echo "=== 构建服务:$SERVICE_NAME ===" - echo "POM路径:$SERVICE_POM_ABSOLUTE_PATH" - if [ ! -f "$SERVICE_POM_ABSOLUTE_PATH" ]; then echo "错误:服务 $SERVICE_NAME 的POM文件不存在" exit 1 fi - # 使用Maven绝对路径执行打包命令 "$MAVEN_HOME/bin/mvn" clean package -U -DskipTests -f "$SERVICE_POM_ABSOLUTE_PATH" - - # 验证构建产物 - echo "=== 构建产物 ===" - ls -la "${GITHUB_WORKSPACE}/${SERVICE_NAME}/target/" - name: 配置Docker Buildx uses: http://git.missmoc.top/mocheng/setup-buildx-action@v3 @@ -208,13 +232,11 @@ jobs: if [ -f "$DOCKERFILE_ABSOLUTE_PATH" ]; then echo "dockerfile_path=$DOCKERFILE_ABSOLUTE_PATH" >> $GITHUB_OUTPUT - echo "使用Dockerfile:$DOCKERFILE_ABSOLUTE_PATH" else echo "dockerfile_path=${GITHUB_WORKSPACE}/Dockerfile" >> $GITHUB_OUTPUT - echo "使用根目录Dockerfile:${GITHUB_WORKSPACE}/Dockerfile" fi - - name: 构建并推送Docker镜像 + - name: 构建并推送Docker镜像(仅推送镜像,不上传JAR) uses: http://git.missmoc.top/mocheng/build-push-action@v5 with: context: "${GITHUB_WORKSPACE}" From d7c4b2ba54588445a1079957939a51bdebc80e3b Mon Sep 17 00:00:00 2001 From: bichangxiong <3057647414@qq.com> Date: Thu, 14 Aug 2025 01:27:48 +0800 Subject: [PATCH 28/36] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20.gitea/workflows/dev?= =?UTF-8?q?.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/dev.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.gitea/workflows/dev.yml b/.gitea/workflows/dev.yml index 0d2e7861..3382d22f 100644 --- a/.gitea/workflows/dev.yml +++ b/.gitea/workflows/dev.yml @@ -48,10 +48,6 @@ jobs: local-repo file://$HOME/.m2/repository - - dromara-releases - https://maven.dromara.org/repository/releases/ - aliyun-public https://maven.aliyun.com/repository/public @@ -86,7 +82,6 @@ jobs: fi repos=( - "https://maven.dromara.org/repository/releases" "https://maven.aliyun.com/repository/public" ) From 8bbf5f0eca97d75b87f618cf6025bb9eaa0f76a9 Mon Sep 17 00:00:00 2001 From: bichangxiong <3057647414@qq.com> Date: Thu, 14 Aug 2025 01:30:54 +0800 Subject: [PATCH 29/36] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20.gitea/workflows/dev?= =?UTF-8?q?.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/dev.yml | 42 +--------------------------------------- 1 file changed, 1 insertion(+), 41 deletions(-) diff --git a/.gitea/workflows/dev.yml b/.gitea/workflows/dev.yml index 3382d22f..272bd88c 100644 --- a/.gitea/workflows/dev.yml +++ b/.gitea/workflows/dev.yml @@ -61,46 +61,6 @@ jobs: EOF - - name: 手动安装必要BOM依赖 - run: | - mkdir -p /tmp/maven-dependencies - - declare -A BOM_ARTIFACTS=( - ["ruoyi-common-alibaba-bom"]="2.4.0" - ["ruoyi-common-bom"]="2.4.0" - ["ruoyi-api-bom"]="2.4.0" - ) - - for artifact in "${!BOM_ARTIFACTS[@]}"; do - version=${BOM_ARTIFACTS[$artifact]} - group_id="org.dromara" - local_path="$HOME/.m2/repository/${group_id//.//}/$artifact/$version/$artifact-$version.pom" - - if [ -f "$local_path" ]; then - echo "本地已存在 $artifact:$version,跳过" - continue - fi - - repos=( - "https://maven.aliyun.com/repository/public" - ) - - downloaded=false - for repo in "${repos[@]}"; do - url="$repo/${group_id//.//}/$artifact/$version/$artifact-$version.pom" - if wget -q -O "/tmp/maven-dependencies/$artifact-$version.pom" "$url"; then - "$MAVEN_HOME/bin/mvn" install:install-file \ - -Dfile="/tmp/maven-dependencies/$artifact-$version.pom" \ - -DgroupId="$group_id" \ - -DartifactId="$artifact" \ - -Dversion="$version" \ - -Dpackaging=pom - downloaded=true - break - fi - done - done - - name: 构建主POM(仅本地安装,不上传) run: | MAIN_POM_ABSOLUTE_PATH="${GITHUB_WORKSPACE}/pom.xml" @@ -111,7 +71,7 @@ jobs: retries=3 count=0 - until "$MAVEN_HOME/bin/mvn" clean install -N -U -DskipTests -f "$MAIN_POM_ABSOLUTE_PATH"; do + until "$MAVEN_HOME/bin/mvn" clean package install -U -DskipTests -f "$MAIN_POM_ABSOLUTE_PATH"; do count=$((count + 1)) if [ $count -ge $retries ]; then echo "错误:主POM构建失败" From cf473bcbc85d6ecc23c7318010e494987b58ab71 Mon Sep 17 00:00:00 2001 From: bichangxiong <3057647414@qq.com> Date: Thu, 14 Aug 2025 01:41:25 +0800 Subject: [PATCH 30/36] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20.gitea/workflows/dev?= =?UTF-8?q?.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/dev.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/dev.yml b/.gitea/workflows/dev.yml index 272bd88c..23deaf32 100644 --- a/.gitea/workflows/dev.yml +++ b/.gitea/workflows/dev.yml @@ -71,7 +71,7 @@ jobs: retries=3 count=0 - until "$MAVEN_HOME/bin/mvn" clean package install -U -DskipTests -f "$MAIN_POM_ABSOLUTE_PATH"; do + until "$MAVEN_HOME/bin/mvn" clean package -U -DskipTests -f "$MAIN_POM_ABSOLUTE_PATH"; do count=$((count + 1)) if [ $count -ge $retries ]; then echo "错误:主POM构建失败" From 51c6dd2cc1b624856803d40d9d9df7954680156a Mon Sep 17 00:00:00 2001 From: mocheng <3057647414@qq.com> Date: Thu, 14 Aug 2025 01:57:52 +0800 Subject: [PATCH 31/36] =?UTF-8?q?=E7=89=A9=E4=B8=9A=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=E6=89=93=E5=8C=85=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-modules/pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ruoyi-modules/pom.xml b/ruoyi-modules/pom.xml index 3e55175f..267aca5a 100644 --- a/ruoyi-modules/pom.xml +++ b/ruoyi-modules/pom.xml @@ -14,8 +14,8 @@ ruoyi-job ruoyi-resource ruoyi-workflow - Property - Sis + + ruoyi-modules From e52ee15f0f4fd21893ac8ae32bc20680f63e0030 Mon Sep 17 00:00:00 2001 From: bichangxiong <3057647414@qq.com> Date: Thu, 14 Aug 2025 02:19:06 +0800 Subject: [PATCH 32/36] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20.gitea/workflows/dev?= =?UTF-8?q?.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/dev.yml | 168 ++++++++++----------------------------- 1 file changed, 40 insertions(+), 128 deletions(-) diff --git a/.gitea/workflows/dev.yml b/.gitea/workflows/dev.yml index 23deaf32..9de1eb6e 100644 --- a/.gitea/workflows/dev.yml +++ b/.gitea/workflows/dev.yml @@ -1,134 +1,72 @@ -run-name: ${{ gitea.actor }} 构建镜像并推送(不含JAR依赖上传)🚀 +run-name: ${{ gitea.actor }} 构建并推送服务镜像 🚀 on: push: - branches: - - master + branches: [master] jobs: - build-parent-pom: + # 阶段1:通过主POM统一构建所有模块 + build-all: runs-on: ubuntu steps: - - name: 拉取代码仓库 + - name: 拉取代码 uses: http://git.missmoc.top/mocheng/checkout@v4 - - name: 配置环境变量(绝对路径) + - name: 配置JDK和Maven run: | + # 配置环境变量 export JAVA_HOME="/java17/java17" export MAVEN_HOME="/maven/apache-maven-3.9.11" - if [ ! -f "$JAVA_HOME/bin/java" ]; then - echo "错误:JDK可执行文件不存在于 $JAVA_HOME/bin/java" - exit 1 - fi - if [ ! -f "$MAVEN_HOME/bin/mvn" ]; then - echo "错误:Maven可执行文件不存在于 $MAVEN_HOME/bin/mvn" - exit 1 - fi + # 验证环境 + [ -d "$JAVA_HOME" ] || { echo "JDK不存在: $JAVA_HOME"; exit 1; } + [ -d "$MAVEN_HOME" ] || { echo "Maven不存在: $MAVEN_HOME"; exit 1; } + # 导出环境变量 echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV echo "$JAVA_HOME/bin" >> $GITHUB_PATH echo "MAVEN_HOME=$MAVEN_HOME" >> $GITHUB_ENV echo "$MAVEN_HOME/bin" >> $GITHUB_PATH - - "$JAVA_HOME/bin/java" -version - "$MAVEN_HOME/bin/mvn" -v - name: 配置Maven仓库 run: | mkdir -p ~/.m2 - cat > ~/.m2/settings.xml << EOF + cat > ~/.m2/settings.xml << 'EOF' - $HOME/.m2/repository + ${user.home}/.m2/repository - multi-repo + aliyun - local-repo - file://$HOME/.m2/repository - - - aliyun-public + aliyun https://maven.aliyun.com/repository/public + true + true - multi-repo + aliyun EOF - - name: 构建主POM(仅本地安装,不上传) + - name: 主POM统一打包 run: | - MAIN_POM_ABSOLUTE_PATH="${GITHUB_WORKSPACE}/pom.xml" - if [ ! -f "$MAIN_POM_ABSOLUTE_PATH" ]; then - echo "错误:主POM文件不存在" - exit 1 - fi + # 从根目录构建所有模块 + mvn clean package -U -DskipTests -f pom.xml - retries=3 - count=0 - until "$MAVEN_HOME/bin/mvn" clean package -U -DskipTests -f "$MAIN_POM_ABSOLUTE_PATH"; do - count=$((count + 1)) - if [ $count -ge $retries ]; then - echo "错误:主POM构建失败" - exit 1 - fi - sleep 10 - done + # 查看构建产物 + find . -name "*.jar" -path "*/target/*" - build-common-modules: - needs: build-parent-pom - runs-on: ubuntu - steps: - - name: 拉取代码仓库 - uses: http://git.missmoc.top/mocheng/checkout@v4 - - - name: 配置环境变量 - run: | - export JAVA_HOME="/java17/java17" - export MAVEN_HOME="/maven/apache-maven-3.9.11" - echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV - echo "$JAVA_HOME/bin" >> $GITHUB_PATH - echo "MAVEN_HOME=$MAVEN_HOME" >> $GITHUB_ENV - echo "$MAVEN_HOME/bin" >> $GITHUB_PATH - - - name: 构建通用模块(仅本地使用,不上传) - run: | - COMMON_MODULES=( - "ruoyi-common" - "ruoyi-api" - "ruoyi-common-bom" - "ruoyi-common-alibaba-bom" - "ruoyi-api-bom" - ) - - for module in "${COMMON_MODULES[@]}"; do - MODULE_POM_ABSOLUTE_PATH="${GITHUB_WORKSPACE}/${module}/pom.xml" - if [ ! -f "$MODULE_POM_ABSOLUTE_PATH" ]; then - echo "警告:模块 $module 不存在,跳过" - continue - fi - - retries=3 - count=0 - until "$MAVEN_HOME/bin/mvn" clean install -U -DskipTests -f "$MODULE_POM_ABSOLUTE_PATH"; do - count=$((count + 1)) - if [ $count -ge $retries ]; then - echo "错误:模块 $module 构建失败" - exit 1 - fi - sleep 10 - done - done - - build-and-push-services: - needs: build-common-modules + # 阶段2:为每个服务构建并推送镜像 + build-images: + needs: build-all runs-on: ubuntu strategy: + fail-fast: false matrix: service: - ruoyi-auth @@ -146,58 +84,32 @@ jobs: - ruoyi-sentinel-dashboard - ruoyi-snailjob-server steps: - - name: 拉取代码仓库 + - name: 拉取代码 uses: http://git.missmoc.top/mocheng/checkout@v4 - - name: 配置环境变量 - run: | - export JAVA_HOME="/java17/java17" - export MAVEN_HOME="/maven/apache-maven-3.9.11" - echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV - echo "$JAVA_HOME/bin" >> $GITHUB_PATH - echo "MAVEN_HOME=$MAVEN_HOME" >> $GITHUB_ENV - echo "$MAVEN_HOME/bin" >> $GITHUB_PATH - - - name: 构建服务模块(仅用于镜像构建,不上传JAR) - run: | - SERVICE_NAME="${{ matrix.service }}" - SERVICE_POM_ABSOLUTE_PATH="${GITHUB_WORKSPACE}/${SERVICE_NAME}/pom.xml" - if [ ! -f "$SERVICE_POM_ABSOLUTE_PATH" ]; then - echo "错误:服务 $SERVICE_NAME 的POM文件不存在" - exit 1 - fi - - "$MAVEN_HOME/bin/mvn" clean package -U -DskipTests -f "$SERVICE_POM_ABSOLUTE_PATH" - - - name: 配置Docker Buildx + - name: 配置Docker构建环境 uses: http://git.missmoc.top/mocheng/setup-buildx-action@v3 - - name: 登录到容器仓库 + - name: 登录容器仓库 uses: http://git.missmoc.top/mocheng/login-action@v3 with: registry: ${{ secrets.REGISTRY_URL }} username: ${{ secrets.REGISTRY_USER }} password: ${{ secrets.REGISTRY_PASS }} - - name: 确定Dockerfile路径 - id: dockerfile-path - run: | - SERVICE_NAME="${{ matrix.service }}" - DOCKERFILE_ABSOLUTE_PATH="${GITHUB_WORKSPACE}/${SERVICE_NAME}/Dockerfile" - - if [ -f "$DOCKERFILE_ABSOLUTE_PATH" ]; then - echo "dockerfile_path=$DOCKERFILE_ABSOLUTE_PATH" >> $GITHUB_OUTPUT - else - echo "dockerfile_path=${GITHUB_WORKSPACE}/Dockerfile" >> $GITHUB_OUTPUT - fi - - - name: 构建并推送Docker镜像(仅推送镜像,不上传JAR) + - name: 构建并推送镜像 uses: http://git.missmoc.top/mocheng/build-push-action@v5 with: - context: "${GITHUB_WORKSPACE}" - file: ${{ steps.dockerfile-path.outputs.dockerfile_path }} - tags: ${{ secrets.REGISTRY_URL }}/by2025/${{ matrix.service }}:${{ github.sha }} + context: . + file: ./${{ matrix.service }}/Dockerfile + tags: | + ${{ secrets.REGISTRY_URL }}/by2025/${{ matrix.service }}:${{ github.sha }} + ${{ secrets.REGISTRY_URL }}/by2025/${{ matrix.service }}:latest push: true cache-from: type=gha cache-to: type=gha,mode=max + # 仅当Dockerfile或相关目录变化时构建 + paths: + - ${{ matrix.service }}/** + - pom.xml \ No newline at end of file From 573bd4cb8cd9fa6f0208b8f840dbaa39dc92ade3 Mon Sep 17 00:00:00 2001 From: bichangxiong <3057647414@qq.com> Date: Thu, 14 Aug 2025 02:24:24 +0800 Subject: [PATCH 33/36] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20.gitea/workflows/dev?= =?UTF-8?q?.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/dev.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.gitea/workflows/dev.yml b/.gitea/workflows/dev.yml index 9de1eb6e..910e1f5b 100644 --- a/.gitea/workflows/dev.yml +++ b/.gitea/workflows/dev.yml @@ -108,8 +108,7 @@ jobs: push: true cache-from: type=gha cache-to: type=gha,mode=max - # 仅当Dockerfile或相关目录变化时构建 paths: - - ${{ matrix.service }}/** + - ${{ matrix.service }}/**/* - pom.xml \ No newline at end of file From 269c105282bdfe9f9c7d120ad781730c313549bc Mon Sep 17 00:00:00 2001 From: bichangxiong <3057647414@qq.com> Date: Thu, 14 Aug 2025 02:26:30 +0800 Subject: [PATCH 34/36] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20.gitea/workflows/dev?= =?UTF-8?q?.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/dev.yml | 61 ++++++++++++++++++++++------------------ 1 file changed, 33 insertions(+), 28 deletions(-) diff --git a/.gitea/workflows/dev.yml b/.gitea/workflows/dev.yml index 910e1f5b..1ce12579 100644 --- a/.gitea/workflows/dev.yml +++ b/.gitea/workflows/dev.yml @@ -8,28 +8,35 @@ jobs: build-all: runs-on: ubuntu steps: - - name: 拉取代码 + - name: 拉取代码仓库 uses: http://git.missmoc.top/mocheng/checkout@v4 - - name: 配置JDK和Maven + - name: 配置JDK和Maven环境 run: | - # 配置环境变量 + # 配置环境变量路径 export JAVA_HOME="/java17/java17" export MAVEN_HOME="/maven/apache-maven-3.9.11" - # 验证环境 - [ -d "$JAVA_HOME" ] || { echo "JDK不存在: $JAVA_HOME"; exit 1; } - [ -d "$MAVEN_HOME" ] || { echo "Maven不存在: $MAVEN_HOME"; exit 1; } + # 验证环境是否存在 + [ -d "$JAVA_HOME" ] || { echo "错误:JDK目录不存在 - $JAVA_HOME"; exit 1; } + [ -d "$MAVEN_HOME" ] || { echo "错误:Maven目录不存在 - $MAVEN_HOME"; exit 1; } - # 导出环境变量 + # 导出环境变量到工作流 echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV echo "$JAVA_HOME/bin" >> $GITHUB_PATH echo "MAVEN_HOME=$MAVEN_HOME" >> $GITHUB_ENV echo "$MAVEN_HOME/bin" >> $GITHUB_PATH + + # 输出版本信息验证配置 + java -version + mvn -v - - name: 配置Maven仓库 + - name: 配置Maven仓库(阿里云) run: | + # 创建Maven配置目录 mkdir -p ~/.m2 + + # 写入settings.xml配置 cat > ~/.m2/settings.xml << 'EOF' @@ -39,7 +46,7 @@ jobs: aliyun - aliyun + aliyun-public https://maven.aliyun.com/repository/public true true @@ -53,20 +60,21 @@ jobs: EOF - - name: 主POM统一打包 + - name: 主POM统一打包所有模块 run: | - # 从根目录构建所有模块 + # 从根目录执行打包命令 mvn clean package -U -DskipTests -f pom.xml - # 查看构建产物 + # 验证打包结果 + echo "=== 构建产物列表 ===" find . -name "*.jar" -path "*/target/*" - # 阶段2:为每个服务构建并推送镜像 - build-images: + # 阶段2:为每个服务模块构建并推送Docker镜像 + build-and-push-images: needs: build-all runs-on: ubuntu strategy: - fail-fast: false + fail-fast: false # 单个服务失败不影响其他服务构建 matrix: service: - ruoyi-auth @@ -84,31 +92,28 @@ jobs: - ruoyi-sentinel-dashboard - ruoyi-snailjob-server steps: - - name: 拉取代码 + - name: 拉取代码仓库 uses: http://git.missmoc.top/mocheng/checkout@v4 - - name: 配置Docker构建环境 + - name: 配置Docker Buildx构建环境 uses: http://git.missmoc.top/mocheng/setup-buildx-action@v3 - - name: 登录容器仓库 + - name: 登录到容器仓库 uses: http://git.missmoc.top/mocheng/login-action@v3 with: registry: ${{ secrets.REGISTRY_URL }} username: ${{ secrets.REGISTRY_USER }} password: ${{ secrets.REGISTRY_PASS }} - - name: 构建并推送镜像 + - name: 构建并推送服务镜像 uses: http://git.missmoc.top/mocheng/build-push-action@v5 with: - context: . - file: ./${{ matrix.service }}/Dockerfile - tags: | + context: . # 构建上下文为项目根目录 + file: ./${{ matrix.service }}/Dockerfile # 指定模块的Dockerfile路径 + tags: # 镜像标签 ${{ secrets.REGISTRY_URL }}/by2025/${{ matrix.service }}:${{ github.sha }} ${{ secrets.REGISTRY_URL }}/by2025/${{ matrix.service }}:latest - push: true - cache-from: type=gha - cache-to: type=gha,mode=max - paths: - - ${{ matrix.service }}/**/* - - pom.xml + push: true # 推送镜像到仓库 + cache-from: type=gha # 使用GitHub Actions缓存 + cache-to: type=gha,mode=max # 最大化缓存内容 \ No newline at end of file From afc0e69319863b17f30a3786d6b79668429c7e45 Mon Sep 17 00:00:00 2001 From: bichangxiong <3057647414@qq.com> Date: Thu, 14 Aug 2025 02:36:55 +0800 Subject: [PATCH 35/36] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20.gitea/workflows/dev?= =?UTF-8?q?.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/dev.yml | 156 +++++++++++++++++++-------------------- 1 file changed, 74 insertions(+), 82 deletions(-) diff --git a/.gitea/workflows/dev.yml b/.gitea/workflows/dev.yml index 1ce12579..fb64956e 100644 --- a/.gitea/workflows/dev.yml +++ b/.gitea/workflows/dev.yml @@ -1,80 +1,13 @@ -run-name: ${{ gitea.actor }} 构建并推送服务镜像 🚀 +run-name: ${{ gitea.actor }} 打包并构建镜像 🚀 on: push: - branches: [master] + branches: + - master jobs: - # 阶段1:通过主POM统一构建所有模块 - build-all: - runs-on: ubuntu - steps: - - name: 拉取代码仓库 - uses: http://git.missmoc.top/mocheng/checkout@v4 - - - name: 配置JDK和Maven环境 - run: | - # 配置环境变量路径 - export JAVA_HOME="/java17/java17" - export MAVEN_HOME="/maven/apache-maven-3.9.11" - - # 验证环境是否存在 - [ -d "$JAVA_HOME" ] || { echo "错误:JDK目录不存在 - $JAVA_HOME"; exit 1; } - [ -d "$MAVEN_HOME" ] || { echo "错误:Maven目录不存在 - $MAVEN_HOME"; exit 1; } - - # 导出环境变量到工作流 - echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV - echo "$JAVA_HOME/bin" >> $GITHUB_PATH - echo "MAVEN_HOME=$MAVEN_HOME" >> $GITHUB_ENV - echo "$MAVEN_HOME/bin" >> $GITHUB_PATH - - # 输出版本信息验证配置 - java -version - mvn -v - - - name: 配置Maven仓库(阿里云) - run: | - # 创建Maven配置目录 - mkdir -p ~/.m2 - - # 写入settings.xml配置 - cat > ~/.m2/settings.xml << 'EOF' - - - ${user.home}/.m2/repository - - - aliyun - - - aliyun-public - https://maven.aliyun.com/repository/public - true - true - - - - - - aliyun - - - EOF - - - name: 主POM统一打包所有模块 - run: | - # 从根目录执行打包命令 - mvn clean package -U -DskipTests -f pom.xml - - # 验证打包结果 - echo "=== 构建产物列表 ===" - find . -name "*.jar" -path "*/target/*" - - # 阶段2:为每个服务模块构建并推送Docker镜像 - build-and-push-images: - needs: build-all + build-and-push: runs-on: ubuntu strategy: - fail-fast: false # 单个服务失败不影响其他服务构建 matrix: service: - ruoyi-auth @@ -95,25 +28,84 @@ jobs: - name: 拉取代码仓库 uses: http://git.missmoc.top/mocheng/checkout@v4 - - name: 配置Docker Buildx构建环境 + - name: 配置环境变量 + run: | + # 配置JDK和Maven绝对路径 + export JAVA_HOME="/java17/java17" + export MAVEN_HOME="/maven/apache-maven-3.9.11" + + # 验证路径有效性 + if [ ! -f "$JAVA_HOME/bin/java" ]; then + echo "错误:JDK不存在于 $JAVA_HOME" + exit 1 + fi + if [ ! -f "$MAVEN_HOME/bin/mvn" ]; then + echo "错误:Maven不存在于 $MAVEN_HOME" + exit 1 + fi + + # 配置环境变量 + echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV + echo "$JAVA_HOME/bin" >> $GITHUB_PATH + echo "MAVEN_HOME=$MAVEN_HOME" >> $GITHUB_ENV + echo "$MAVEN_HOME/bin" >> $GITHUB_PATH + + # 验证版本 + java -version + mvn -v + + - name: 配置Maven仓库(仅华为镜像) + run: | + mkdir -p ~/.m2 + cat > ~/.m2/settings.xml << EOF + + + $HOME/.m2/repository + + + huawei + https://mirrors.huaweicloud.com/repository/maven/ + * + + + + EOF + + - name: 执行mvn clean package打包 + run: | + SERVICE_NAME="${{ matrix.service }}" + POM_PATH="${GITHUB_WORKSPACE}/${SERVICE_NAME}/pom.xml" + + # 检查POM文件是否存在 + if [ ! -f "$POM_PATH" ]; then + echo "错误:$SERVICE_NAME 的POM文件不存在于 $POM_PATH" + exit 1 + fi + + # 直接执行打包命令 + mvn clean package -U -DskipTests -f "$POM_PATH" + + # 验证打包结果 + echo "=== 打包产物 ===" + ls -la "${GITHUB_WORKSPACE}/${SERVICE_NAME}/target/" + + - name: 配置Docker Buildx uses: http://git.missmoc.top/mocheng/setup-buildx-action@v3 - - name: 登录到容器仓库 + - name: 登录容器仓库 uses: http://git.missmoc.top/mocheng/login-action@v3 with: registry: ${{ secrets.REGISTRY_URL }} username: ${{ secrets.REGISTRY_USER }} password: ${{ secrets.REGISTRY_PASS }} - - name: 构建并推送服务镜像 + - name: 构建并推送Docker镜像 uses: http://git.missmoc.top/mocheng/build-push-action@v5 with: - context: . # 构建上下文为项目根目录 - file: ./${{ matrix.service }}/Dockerfile # 指定模块的Dockerfile路径 - tags: # 镜像标签 - ${{ secrets.REGISTRY_URL }}/by2025/${{ matrix.service }}:${{ github.sha }} - ${{ secrets.REGISTRY_URL }}/by2025/${{ matrix.service }}:latest - push: true # 推送镜像到仓库 - cache-from: type=gha # 使用GitHub Actions缓存 - cache-to: type=gha,mode=max # 最大化缓存内容 + context: "${GITHUB_WORKSPACE}" + file: "${{ matrix.service }}/Dockerfile" + tags: ${{ secrets.REGISTRY_URL }}/by2025/${{ matrix.service }}:${{ github.sha }} + push: true + cache-from: type=gha + cache-to: type=gha,mode=max \ No newline at end of file From edf514b25d98b4eede2bb0c27fe7e0d3222e8cef Mon Sep 17 00:00:00 2001 From: bichangxiong <3057647414@qq.com> Date: Thu, 14 Aug 2025 02:40:47 +0800 Subject: [PATCH 36/36] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20.gitea/workflows/dev?= =?UTF-8?q?.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/dev.yml | 194 +++++++++++++++++++++++++++++---------- 1 file changed, 143 insertions(+), 51 deletions(-) diff --git a/.gitea/workflows/dev.yml b/.gitea/workflows/dev.yml index fb64956e..13c24388 100644 --- a/.gitea/workflows/dev.yml +++ b/.gitea/workflows/dev.yml @@ -1,11 +1,132 @@ -run-name: ${{ gitea.actor }} 打包并构建镜像 🚀 +run-name: ${{ gitea.actor }} 构建镜像并推送(不含JAR依赖上传)🚀 on: push: branches: - master jobs: - build-and-push: + build-parent-pom: + runs-on: ubuntu + steps: + - name: 拉取代码仓库 + uses: http://git.missmoc.top/mocheng/checkout@v4 + + - name: 配置环境变量(绝对路径) + run: | + export JAVA_HOME="/java17/java17" + export MAVEN_HOME="/maven/apache-maven-3.9.11" + + if [ ! -f "$JAVA_HOME/bin/java" ]; then + echo "错误:JDK可执行文件不存在于 $JAVA_HOME/bin/java" + exit 1 + fi + if [ ! -f "$MAVEN_HOME/bin/mvn" ]; then + echo "错误:Maven可执行文件不存在于 $MAVEN_HOME/bin/mvn" + exit 1 + fi + + echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV + echo "$JAVA_HOME/bin" >> $GITHUB_PATH + echo "MAVEN_HOME=$MAVEN_HOME" >> $GITHUB_ENV + echo "$MAVEN_HOME/bin" >> $GITHUB_PATH + + "$JAVA_HOME/bin/java" -version + "$MAVEN_HOME/bin/mvn" -v + + - name: 配置Maven仓库 + run: | + mkdir -p ~/.m2 + cat > ~/.m2/settings.xml << EOF + + + $HOME/.m2/repository + + + multi-repo + + + local-repo + file://$HOME/.m2/repository + + + aliyun-public + https://maven.aliyun.com/repository/public + + + + + + multi-repo + + + EOF + + - name: 构建主POM(仅本地安装,不上传) + run: | + MAIN_POM_ABSOLUTE_PATH="${GITHUB_WORKSPACE}/pom.xml" + if [ ! -f "$MAIN_POM_ABSOLUTE_PATH" ]; then + echo "错误:主POM文件不存在" + exit 1 + fi + + retries=3 + count=0 + until "$MAVEN_HOME/bin/mvn" clean package -U -DskipTests -f "$MAIN_POM_ABSOLUTE_PATH"; do + count=$((count + 1)) + if [ $count -ge $retries ]; then + echo "错误:主POM构建失败" + exit 1 + fi + sleep 10 + done + + build-common-modules: + needs: build-parent-pom + runs-on: ubuntu + steps: + - name: 拉取代码仓库 + uses: http://git.missmoc.top/mocheng/checkout@v4 + + - name: 配置环境变量 + run: | + export JAVA_HOME="/java17/java17" + export MAVEN_HOME="/maven/apache-maven-3.9.11" + echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV + echo "$JAVA_HOME/bin" >> $GITHUB_PATH + echo "MAVEN_HOME=$MAVEN_HOME" >> $GITHUB_ENV + echo "$MAVEN_HOME/bin" >> $GITHUB_PATH + + - name: 构建通用模块(仅本地使用,不上传) + run: | + COMMON_MODULES=( + "ruoyi-common" + "ruoyi-api" + "ruoyi-common-bom" + "ruoyi-common-alibaba-bom" + "ruoyi-api-bom" + ) + + for module in "${COMMON_MODULES[@]}"; do + MODULE_POM_ABSOLUTE_PATH="${GITHUB_WORKSPACE}/${module}/pom.xml" + if [ ! -f "$MODULE_POM_ABSOLUTE_PATH" ]; then + echo "警告:模块 $module 不存在,跳过" + continue + fi + + retries=3 + count=0 + until "$MAVEN_HOME/bin/mvn" clean install -U -DskipTests -f "$MODULE_POM_ABSOLUTE_PATH"; do + count=$((count + 1)) + if [ $count -ge $retries ]; then + echo "错误:模块 $module 构建失败" + exit 1 + fi + sleep 10 + done + done + + build-and-push-services: + needs: build-common-modules runs-on: ubuntu strategy: matrix: @@ -30,80 +151,51 @@ jobs: - name: 配置环境变量 run: | - # 配置JDK和Maven绝对路径 export JAVA_HOME="/java17/java17" export MAVEN_HOME="/maven/apache-maven-3.9.11" - - # 验证路径有效性 - if [ ! -f "$JAVA_HOME/bin/java" ]; then - echo "错误:JDK不存在于 $JAVA_HOME" - exit 1 - fi - if [ ! -f "$MAVEN_HOME/bin/mvn" ]; then - echo "错误:Maven不存在于 $MAVEN_HOME" - exit 1 - fi - - # 配置环境变量 echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV echo "$JAVA_HOME/bin" >> $GITHUB_PATH echo "MAVEN_HOME=$MAVEN_HOME" >> $GITHUB_ENV echo "$MAVEN_HOME/bin" >> $GITHUB_PATH - - # 验证版本 - java -version - mvn -v - - name: 配置Maven仓库(仅华为镜像) - run: | - mkdir -p ~/.m2 - cat > ~/.m2/settings.xml << EOF - - - $HOME/.m2/repository - - - huawei - https://mirrors.huaweicloud.com/repository/maven/ - * - - - - EOF - - - name: 执行mvn clean package打包 + - name: 构建服务模块 run: | SERVICE_NAME="${{ matrix.service }}" - POM_PATH="${GITHUB_WORKSPACE}/${SERVICE_NAME}/pom.xml" - - # 检查POM文件是否存在 - if [ ! -f "$POM_PATH" ]; then - echo "错误:$SERVICE_NAME 的POM文件不存在于 $POM_PATH" + SERVICE_POM_ABSOLUTE_PATH="${GITHUB_WORKSPACE}/${SERVICE_NAME}/pom.xml" + if [ ! -f "$SERVICE_POM_ABSOLUTE_PATH" ]; then + echo "错误:服务 $SERVICE_NAME 的POM文件不存在" exit 1 fi - # 直接执行打包命令 - mvn clean package -U -DskipTests -f "$POM_PATH" - - # 验证打包结果 - echo "=== 打包产物 ===" - ls -la "${GITHUB_WORKSPACE}/${SERVICE_NAME}/target/" + "$MAVEN_HOME/bin/mvn" clean package -U -DskipTests -f "$SERVICE_POM_ABSOLUTE_PATH" - name: 配置Docker Buildx uses: http://git.missmoc.top/mocheng/setup-buildx-action@v3 - - name: 登录容器仓库 + - name: 登录到容器仓库 uses: http://git.missmoc.top/mocheng/login-action@v3 with: registry: ${{ secrets.REGISTRY_URL }} username: ${{ secrets.REGISTRY_USER }} password: ${{ secrets.REGISTRY_PASS }} - - name: 构建并推送Docker镜像 + - name: 确定Dockerfile路径 + id: dockerfile-path + run: | + SERVICE_NAME="${{ matrix.service }}" + DOCKERFILE_ABSOLUTE_PATH="${GITHUB_WORKSPACE}/${SERVICE_NAME}/Dockerfile" + + if [ -f "$DOCKERFILE_ABSOLUTE_PATH" ]; then + echo "dockerfile_path=$DOCKERFILE_ABSOLUTE_PATH" >> $GITHUB_OUTPUT + else + echo "dockerfile_path=${GITHUB_WORKSPACE}/Dockerfile" >> $GITHUB_OUTPUT + fi + + - name: 构建并推送Docker镜像(仅推送镜像,不上传JAR) uses: http://git.missmoc.top/mocheng/build-push-action@v5 with: context: "${GITHUB_WORKSPACE}" - file: "${{ matrix.service }}/Dockerfile" + file: ${{ steps.dockerfile-path.outputs.dockerfile_path }} tags: ${{ secrets.REGISTRY_URL }}/by2025/${{ matrix.service }}:${{ github.sha }} push: true cache-from: type=gha