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] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20.gitea/workflows/dev.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