当前位置:   article > 正文

踩坑还没成功?为了安装这个测试平台我付出了太多!_metersphere windows

metersphere windows

本篇文档包括MeterSphere基本的安装过程及常规报错,但是由于一些环境原因,最后没有安装成功,现将安装过程及注意事项进行整理,供参考。

注:MeterSphere是一站式的开源持续测试平台,遵循GPLv3开源许可协议,涵盖测试管理、接口测试、UI测试和性能测试等功能,全面兼容JMeter、Selenium等主流开源标准,有效助力开发和测试团队充分利用云弹性进行高度可扩展的自动化测试,加速高质量的软件交付。

系统要求

1、8c 32G

2、Windows 纯净版(没有其他系统软件)

安装过程:

  • 安装WSL

  • 安装 Ubuntu

  • Docker 安装与配置

  • 下载安装包

安装WSL

图片

工具间逻辑关系

WSL是什么

WSL(Windows Subsystem for Linux)是Windows操作系统中的一个子系统,它允许用户在Windows系统中运行Linux操作系统的用户空间,无需进行虚拟机等操作。

这样用户就可以在Windows系统中使用Linux命令行工具和一些常用的Linux应用程序。

操作过程

1、Powershell 下输入:wsl --install,如果报错提示wsl --install 无法解析,参照下面过程解决。

方案:开启Windows 功能,设置->应用和功能 ->程序和功能 ->启用或关闭Windows功能。

图片

(本图来源于网络)

成功效果:

图片

2、Powershell 下输入如下命令:

  1. dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
  2. dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

成功效果:

图片

安装Ubuntu

什么是Ubuntu

Ubuntu是一个以桌面应用为主的Linux发行版操作系统。

操作过程

在 Windows 11的应用商店里搜索"Ubuntu"并安装:

图片

打开Ubuntu,报错 WslRegisterDistribution failed with error: 0x800701bc。

解决方法:出现这个error的原因是:wsl1升级到wsl2之后,内核却没有升级,因此需要更新内核。

解决方法:下载最新的wsl安装包,安装包下载后,直接运行安装即可。wsl下载更新,成功后截图:

图片

Ubuntu切换root 用户。

Docker安装与配置

什么是Docker

Docker是一种容器化平台,可以将应用程序及其所有依赖项封装成独立的可移植容器,实现快速部署、可扩展和跨环境运行。

安装过程

下载地址

https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe

双击 Docker Desktop Installer.exe 完成docker 的安装。

图片

配置操作

Docker Desktop安装完成后,进入 Settings 界面,选择 Resources 菜单下的 WSL INTEGRATION,按下图设置后,点击右下角的Apply & Restart。

图片

检查 Docker 环境

docker version:

图片

下载并执行安装包

下载社区版本安装包

下载地址:

https://community.fit2cloud.com/#/download/metersphere/v2-10-6-lts

解压安装包

在 Ubuntu 中,以 root 用户执行如下命令:

  1. # 假设安装包存放路径为 d:\software\metersphere-offline-installer-v2.10.0.tar.gz
  2. cd /mnt/d/software
  3. # 解压安装包
  4. tar zxvf metersphere-offline-installer-v2.10.0.tar.gz

解压成功后会在当前目录下生成解压文件。

图片

执行安装脚本​​​​​​​

# 进入安装包目录 cd metersphere-offline-installer-v2.10.6-lts # 运行安装脚本 /bin/bash install.sh报错1:Error response from daemon: failed to mount local volume: mount /opt/metersphere/conf/prometheus:/var/lib/docker/volumes/metersphere_ms-prometheus-conf/_data, flags: 0x1000: no such file or directory.

这个错误信息表明Docker无法挂载本地卷,因为指定的路径或目录不存在。您需要确保指定的本地路径(/opt/metersphere/data/redis)存在,并且在Docker容器内部也能访问。

检查路径是否正确,目录是否存在,并确保Docker用户有足够的权限访问这个路径。

修改文件所示:

图片

docker-compose-redis.yml 文件:

  1. version: "2.1"
  2. services:
  3. redis:
  4. image: ${MS_IMAGE_PREFIX}/redis:6.2.6
  5. container_name: redis
  6. healthcheck:
  7. test: ["CMD", "redis-cli", "ping"]
  8. interval: 6s
  9. timeout: 5s
  10. retries: 50
  11. environment:
  12. TZ: "Asia/Shanghai"
  13. ports:
  14. - ${MS_REDIS_PORT}:6379
  15. volumes:
  16. - ${MS_BASE}/metersphere/data/redis:/etc/redis/redis.conf
  17. - ms-redis-data:/data
  18. command: redis-server /etc/redis/redis.conf --requirepass ${MS_REDIS_PASSWORD}
  19. networks:
  20. - ms-network
  21. restart: always
  22. system-setting:
  23. depends_on:
  24. redis:
  25. condition: service_healthy
  1. version: "2.1"
  2. services:
  3. prometheus:
  4. image: ${MS_IMAGE_PREFIX}/prometheus:v2.42.0
  5. container_name: ms-prometheus
  6. volumes:
  7. - ${MS_BASE}/metersphere/data/prometheus:/etc/prometheus/
  8. - ${MS_BASE}/metersphere/conf/prometheus:/prometheus
  9. command:
  10. - '--config.file=/etc/prometheus/prometheus.yml'
  11. - '--storage.tsdb.path=/prometheus'
  12. - '--web.console.libraries=/etc/prometheus/console_libraries'
  13. - '--web.console.templates=/etc/prometheus/consoles'
  14. - '--storage.tsdb.retention=200h'
  15. restart: always
  16. ports:
  17. - ${MS_PROMETHEUS_PORT}:9090
  18. healthcheck:
  19. test: [ "CMD", "nc", "-zv", "localhost", "9090" ]
  20. interval: 6s
  21. timeout: 5s
  22. retries: 50
  23. networks:
  24. - ms-network

接下来可能会有mysql  等其他文件报错,道理相同把地下的volumes 路径地址放到上面。

报错2:Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:3306 -> 0.0.0.0:0: listen tcp 0.0.0.0:3306: bind: Only one usage of each socket address (protocol/network address/port) is normally permitted.

解决方案:把本地3306端口禁用,禁用命令如下:​​​​​​​

netstat -ano | findstr :3306  tasklist|findstr "6776"  taskkill /f /t /mysqld.exe

报错3:执行/bin/bash install.sh,提示permission  denied。

图片

解决方案:

方案1:chmod 777 -R metersphere  修改权限命令。

方案2:如果上述命令不生效,执行下面操作。

要修改文件或文件夹的权限,必须是管理员账户,具体步骤如下:

1)找到要修改的文件或文件夹,右键点击选择“属性”选项。

2)在弹出的窗口中,选择“安全”选项卡,点击“编辑”。

3)选择要修改的用户或组,设置其对该文件或文件夹的权限。

4)保存修改后的设置即可。

报错4:运行过程中,提示unexpected eof,经排查应该是磁盘空间不足,如下图:

图片

图片

解决方案:把docker desktop 存储路径更改到其他盘符。

Docker Desktop for Windows 需要将 Docker 运行时的文件存储在 C 盘,这是由 Docker 自身的设计决定的,不能更改。

但是,你可以更改 Docker 数据文件夹的路径,使其在非 C 盘。步骤如下:

图片

然后启动 Docker Desktop。

这样,Docker 数据文件夹的路径就被更改到了非 C 盘。

继续执行命令

执行下列命令,如果顺利的话会出现下图界面:​​​​​​​

# 进入安装包目录 cd metersphere-offline-installer-v2.10.6-lts # 运行安装脚本 /bin/bash install.sh

安装成功后,使用 msctl status 查看后台服务状态,待所有服务运行状态都为 healthy 后,则通过浏览器访问 MeterSphere。

  • 地址: http://目标服务器

  • IP地址:服务运行端口

  • 用户名: admin

  • 密码: metersphere

图片

图片

总结

在安装前我们要确认好环境是否符合要求,尤其Windows注意纯净版,因为后续很多报错都是有可能因为这个原因导致的,最好和他们的技术、售后人员咨询一下最新的安装指南,这样能避免一些弯路。

在整个安装过程中,WSL Ubuntu 是运行在 Windows 操作系统上的一个 Linux 子系统,可以在 WSL Ubuntu 中安装和运行 Docker,从而在 Windows 环境中使用 Docker 容器来部署 MeterSphere 测试管理平台。

这种方式可以方便地在 Windows 下进行测试管理和应用程序的容器化部署,提供更好的开发和测试环境。

总的来说,WSL Ubuntu 作为 Linux 子系统提供了一个运行 Docker 和 MeterSphere 的环境,使得在 Windows 上进行测试管理和容器化部署变得更加便捷。

常用命令总结

--sudo su

--cd /mnt/d

--cd software/metersphere-offline-installer-v2.10.6-lts

/bin/bash install.sh


好文推荐

[内部资源] 想拿年薪30W+的软件测试人员,这份资料必须领取~

听说转行软件测试只能自学,培训机构是个坑?

2023年,软件测试还能学吗?别学了,软件测试岗位饱和了…

从事软件测试8年,聊聊我是怎么从零基础到年薪40万的

为什么说测试岗位是巨坑?10年测试人告诉你千万别上当

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/949860
推荐阅读
相关标签
  

闽ICP备14008679号