背景
最近公司要做一個測試平台,主要功能涉及了産品,開發和測試三方的業務關聯。其實在業界已經有了很多類似的開源平台,例如阿裡的雲效,騰訊的tapd,還有很多其他的雲測試平台。由于涉及到公司的資訊安全問題,公司内部希望能夠自研一款對内的測試平台,解決産研測一體化的問題。通過對市面上各種競品調研,最終標明了metersphere這款測試平台進行二次開發。
由于需要對平台進行二次開發,是以基本都是利用源碼的方式來安裝運作(如果你需要進行二次開發,直接按照官網的文檔快速部署即可)。
Metersphere文檔位址:https://metersphere.io/docs/dev_manual/
運作環境說明
作業系統
Ubuntu16
源碼版本
使用的metersphere版本:dad8ad2be99b3f3b131dad88ca79a531b5e63d86
環境依賴
- jdk1.8(參考:Ubuntu搭建JDK)
- maven(參考:linux下搭建maven)
- node (參考:linux下node安裝)
- docker(參考:docker環境搭建)
- mysql (參考:docker快速搭建mysql)
- kafka(參考: docker搭建kafka)
其他
以上所有環境都搭建在同一台機器上,包括metersphere的前後端代碼
安裝&運作Metersphere
下載下傳源碼
#下載下傳指定版本metersphere源碼,最新版本可能要根據實際情況稍有改動
git clone https://github.com/metersphere/metersphere.git
git reset --hard dad8ad2be99b3f3b131dad88ca79a531b5e63d86
安裝依賴
安裝前端依賴
cd metersphere/frontend
#安裝前端依賴
npm install
#建構dist
npm run build
安裝後端依賴
sudo mkdir -p /opt/jmeter/
cd metersphere/
npm install
sudo cp -rf backend/src/main/resources/jmeter/bin /opt/jmeter/
配置Metersphere
1)建立Metersphere目錄
sudo mkdir -p /opt/metersphere/conf
sudo mkdir -p /opt/metersphere/logs
2)添加Metersphere配置檔案
輸入:sudo vi /opt/metersphere/conf/metersphere.properties,添加如下内容:
# 資料庫配置
spring.datasource.url=jdbc:mysql://localhost:3306/metersphere_dev?autoReconnect=false&useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false
spring.datasource.username=root
# 這裡寫實際的mysql密碼即可
spring.datasource.password=123456
# kafka 配置,node-controller 以及 data-streaming 服務需要使用 kafka 進行測試結果的收集和處理
kafka.partitions=1
kafka.replicas=1
kafka.topic=JMETER_METRICS
kafka.bootstrap-servers=localhost:19092
kafka.log.topic=JMETER_LOGS
# node-controller 所使用的 jmeter 鏡像版本
jmeter.image=registry.fit2cloud.com/metersphere/jmeter-master:0.0.6
# 啟動模式,lcoal 表示以本地開發模式啟動
run.mode=local
3) 運作後端
#進入Metersphere後端目錄
cd metersphere/backend
#運作spring-boot項目
sudo mvn spring-boot:run
如果遇到了如下報錯,記得進入前端目錄建構dist: npm run build(參照前面的安裝前端依賴)
4)運作前端
npm run serve
5)浏覽器通路:http://{機器ip}:8080
賬号:admin
密碼:metersphere.io
如果看到以下畫面說明Metersphere搭建成功!
到此Metersphere的開發環境搭建完畢,有需求的朋友們可以去二次開發了,前端用的是vue+elementUI,後端是java(spring-boot)
部落客:測試生财(一個不為996而996的測開碼農)
座右銘:專注測試開發與自動化運維,努力讀書思考寫作,為内卷的人生奠定财務自由。
内容範疇:技術提升,職場雜談,事業發展,閱讀寫作,投資理财,健康人生。
csdn:https://blog.csdn.net/ccgshigao
部落格園:https://www.cnblogs.com/qa-freeroad/
51cto:https://blog.51cto.com/14900374
微信公衆号:測試生财(定期分享獨家内容和資源)