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