官方文档:metersphere.io/docs/v3.x/d...
1. 前端无法启动,报样式错误
包版本:"less": "^4.2.2" → "less": "4.2.2"
使用pom中配置的node、npm版本
xml
<node.version>v20.8.1</node.version>
<pnpm.version>8.4.0</pnpm.version>
2. 前端启动后缺少图片资源
按官方文档先打包,第三步test报错可以加上-DskipTests
bash
#1 依赖打包
# 此命令会将parent pom 安装到本地仓库,其他外部子工程可以获得最新的 <properties></properties>
./mvnw install -N
# 此命令会将 domain sdk ,其他外部子工程可以获得最新的 jar
./mvnw clean install -DskipTests -DskipAntRunForJenkins --file backend/pom.xml
#2 整体打包
./mvnw clean package
3. 前端打包报错,typescript报错
去掉package.json中的打包命令中的 vue-tsc --noEmit &&
tsconfig.json中关闭严格"strict": false, // 关闭严格模式
4. metersphere中无法运行测试用例
需要启动task_runner,参考下方官方文档
5. 测试用例显示运行成功,但是任务一直显示执行中
需要启动result_hub,需要下载离线安装包,通过docker compose启动
6. 首页报错
sql
Cause: java.sql.SQLException: Expression #1 of ORDER BY clause is not in SELECT list, references column 'metersphere.urr.create_time' which is not in SELECT list; this is incompatible with DISTINCT
修改 \opt\metersphere\conf 数据库连接配置
加上
&sessionVariables=sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
7. 打包后无法从dockerfile部署
- 缺少backend/app/target/dependency目录及文件
参考项目 Jenkinsfile 文件,执行 cd backend/app/target/dependency && jar -xf ../*.jar
-
缺少 /deployments/run-java.sh 文件
从registry.fit2cloud.com/metersphere/metersphere-ce容器中提取
8. 无法新增用户
- 从registry.fit2cloud.com/metersphere/metersphere-ce容器中提取 xpack.jar 包,然后本地引入
9. 如何把最新代码替换进离线安装包
docker load -i metersphere-ce-offline-installer-v3.6.7-lts\metersphere-ce-offline-installer-v3.6.7-lts\images\metersphere.tar
可以看到tar包含下面的镜像
查看docker-compose文件可以发现,result_hub、task_runner及 metersphere 都是用的同个镜像,即 registry.fit2cloud.com/metersphere/metersphere-ce:v3.6.7-lts
所以只需要替换掉 metersphere-ce 中二次开发的最新代码再把镜像导出即可,位置是 /metersphere