確認(rèn)安裝服務(wù)器是否有MySQL五鲫、redis轿钠、kafka等軟件,端口是否被占用涕滋,容器的名稱是否重復(fù)睬辐。
1、metersphere簡介
- MeterSphere 是一站式的開源持續(xù)測試平臺(tái)宾肺,遵循 GPL v3 開源許可協(xié)議溉委,涵蓋測試管理、接口測試爱榕、UI 測試和性能測試等功能瓣喊,全面兼容 JMeter、Selenium 等主流開源標(biāo)準(zhǔn)黔酥,有效助力開發(fā)和測試團(tuán)隊(duì)充分利用云彈性進(jìn)行高度可擴(kuò)展的自動(dòng)化測試藻三,加速高質(zhì)量的軟件交付。
2跪者、安裝部署
-
下載在線安裝包
wget https://cdn0-download-offline-installer.fit2cloud.com/metersphere/release/metersphere-offline-installer-v2.10.9-lts.tar.gz
-
解壓在線安裝包
tar -zxvf metersphere-offline-installer-v2.10.9-lts.tar.gz
-
進(jìn)入解壓目錄
cd metersphere-offline-installer-v2.10.9-lts.tar.gz
-
配置安裝參數(shù)棵帽,參數(shù)說明見下文
vi install.conf
-
執(zhí)行install.sh安裝腳本
/bin/bash install.sh
-
執(zhí)行完安裝腳本后,會(huì)在線拉取鏡像渣玲,等提示安裝完成后逗概,使用 msctl status 查看服務(wù)各個(gè)組件狀態(tài)
msctl status
3、訪問
-
請通過以下方式訪問
URL: http://服務(wù)器IP:8081 用戶名: admin 初始密碼: metersphere
4忘衍、配置說明
-
如果無特殊需求可以不進(jìn)行修改采用默認(rèn)參數(shù)安裝(首次安裝可修改配置 install.conf 文件中相關(guān)配置逾苫,修改完后執(zhí)行 /bin/bash install.sh 命令進(jìn)行安裝,已安裝成功如需再修改配置參數(shù)枚钓,需要到 ${MS_BASE}/metersphere/.env 里修改铅搓,修改完后執(zhí)行 msctl reload 即可重新加載配置文件)。
# 基礎(chǔ)配置 ## 安裝路徑搀捷, MeterSphere 配置及數(shù)據(jù)文件默認(rèn)將安裝在 ${MS_BASE}/metersphere 目錄下 MS_BASE=/opt ## MeterSphere 使用的 docker 網(wǎng)絡(luò)網(wǎng)段信息 MS_DOCKER_SUBNET=172.30.10.0/24 ## 鏡像前綴星掰, MeterSphere 相關(guān)組件使用的 Docker 鏡像前綴, 例如 registry.cn- qingdao.aliyuncs.com/metersphere MS_IMAGE_PREFIX=registry.cn-qingdao.aliyuncs.com/metersphere ## 鏡像標(biāo)簽, MeterSphere 相關(guān)組件使用的 Docker 鏡像標(biāo)簽 MS_IMAGE_TAG=v2.3.0 ## 性能測試使用的 JMeter 鏡像 MS_JMETER_IMAGE=${MS_IMAGE_PREFIX}/jmeter-master:5.5-ms2-jdk11 ## 安裝模式 allinone | server | node-controller | selenium-hub氢烘, 其中 selenium-hub 和 node-controller 可以單獨(dú)在服務(wù)器上部署作為執(zhí)行機(jī)使用 MS_INSTALL_MODE=allinone ## MeterSphere 主程序的 HTTP 服務(wù)監(jiān)聽端口 MS_SERVER_PORT=8081 ## MeterSphere Node-Controller 組件的 HTTP 服務(wù)監(jiān)聽端口 MS_NODE_CONTROLLER_PORT=8082 MS_NODEEXPORTER_PORT=9100 # 數(shù)據(jù)庫配置 ## 是否使用外部數(shù)據(jù)庫 MS_EXTERNAL_MYSQL=false ## 數(shù)據(jù)庫地址 MS_MYSQL_HOST=mysql ## 數(shù)據(jù)庫端口 MS_MYSQL_PORT=3306 ## 數(shù)據(jù)庫庫名 MS_MYSQL_DB=metersphere ## 數(shù)據(jù)庫用戶名 MS_MYSQL_USER=root ## 數(shù)據(jù)庫密碼 MS_MYSQL_PASSWORD=Password123@mysql # Prometheus 配置 ## 是否使用外部Prometheus MS_EXTERNAL_PROM=false MS_PROMETHEUS_PORT=9090 # Redis 配置 ## 是否使用外部Redis MS_EXTERNAL_REDIS=false ## Redis 端口 MS_REDIS_PORT=6379 ## Redis 密碼 MS_REDIS_PASSWORD=Password123@redis ## Redis地址 MS_REDIS_HOST=$(hostname -I|cut -d" " -f 1) # Kafka 配置 ## 是否使用外部 Kafka MS_EXTERNAL_KAFKA=false ## Kafka 地址 MS_KAFKA_HOST=10.1.*.* ## Kafka 端口 MS_KAFKA_PORT=9092 ## 性能測試結(jié)果數(shù)據(jù)使用的 Kafka Topic MS_KAFKA_TOPIC=JMETER_METRICS ## 性能測試日志數(shù)據(jù)使用的 Kafka Topic MS_KAFKA_LOG_TOPIC=JMETER_LOGS ## 性能測試定時(shí)任務(wù)通知使用的 Kafka Topic MS_KAFKA_TEST_TOPIC=LOAD_TESTS ## 重構(gòu)后性能測試結(jié)果數(shù)據(jù)使用的 Kafka Topic MS_KAFKA_REPORT_TOPIC=JMETER_REPORTS # UI容器配置 ## 是否啟動(dòng)UI模塊 MS_UI_ENABLED=false ## 是否啟動(dòng)工作臺(tái)容器 MS_WORKSTATION_ENABLED=false # minio 配置 ## 是否使用外部minio MS_EXTERNAL_MINIO=false ## minio 地址 MS_MINIO_ENDPOINT=http://minio:9000 ## minio access MS_MINIO_ACCESS_KEY=admin ## minio 密碼 MS_MINIO_SECRET_KEY=Password123@minio # 修改組件最大內(nèi)存限制(v2.7以上可以在 /opt/metersphere/.env 里修改某容器服務(wù)的最大內(nèi)存限制怀偷,在/opt/metersphere/ 目錄下的docker-compose分別定義各自服務(wù)的最大屬性值,如 api-test 的屬性在 docker-compose-api-test.yml 中定義播玖,為 MS_API_MEM_LIMIT) MS_API_MEM_LIMIT=1073741824(默認(rèn)為 1g)
5椎工、數(shù)據(jù)庫配置文件說明
-
MeterSphere 使? MySQL 8.0 對系統(tǒng)數(shù)據(jù)進(jìn)?存儲(chǔ)。同時(shí) MeterSphere 對數(shù)據(jù)庫部分配置項(xiàng)有要求黎棠,請參考下附的數(shù)據(jù)庫配置,修改環(huán)境中的數(shù)據(jù)庫配置文件镰绎。
[mysqld] datadir=/var/lib/mysql default-storage-engine=INNODB character_set_server=utf8mb4 lower_case_table_names=1 performance_schema=off table_open_cache=128 transaction_isolation=READ-COMMITTED max_connections=1000 max_connect_errors=6000 max_allowed_packet=64M innodb_file_per_table=1 innodb_buffer_pool_size=512M innodb_flush_method=O_DIRECT innodb_lock_wait_timeout=1800 server-id=1 log-bin=mysql-bin expire_logs_days = 2 binlog_format=mixed character-set-client-handshake = FALSE character-set-server=utf8mb4 collation-server=utf8mb4_general_ci init_connect='SET default_collation_for_utf8mb4=utf8mb4_general_ci' sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION skip-name-resolve [mysql] default-character-set=utf8mb4 [mysql.server] default-character-set=utf8mb4
-
請參考文檔中的建庫語句創(chuàng)建 MeterSphere 使用的數(shù)據(jù)庫脓斩,metersphere-server 服務(wù)啟動(dòng)時(shí)會(huì)自動(dòng)在配置的庫中創(chuàng)建所需的表結(jié)構(gòu)及初始化數(shù)據(jù)
CREATE DATABASE `metersphere` /*!40100 DEFAULT CHARACTER SET utf8mb4 */
6、配置反向代理
-
如果使用了 Nginx畴栖、HAProxy 進(jìn)行反向代理配置随静,需要增加對 websocket 的支持。以 Nginx 為例吗讶,參考配置如下:
server { listen 80; server_name demo.metersphere.com; server_tokens off; return 301 https://$host$request_uri; } server { listen 443 ssl; # RSA certificate ssl_certificate /etc/nginx/ssl/metersphere.com/fullchain.cer; # managed by Certbot ssl_certificate_key /etc/nginx/ssl/metersphere.com/metersphere.com.key; # managed by Certbot server_name demo.metersphere.com; proxy_connect_timeout 300; proxy_send_timeout 300; proxy_read_timeout 300; send_timeout 300; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-Host $server_name; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; proxy_redirect http:// $scheme://; location / { proxy_pass http://ip:8081; client_max_body_size 1000m; #access_log off; #配置 websocket 支持 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } }
7燎猛、如何卸載
先停止正在運(yùn)行的 MeterSphere 容器,然后再刪除容器照皆,最后刪除應(yīng)用數(shù)據(jù)目錄以及 docker 環(huán)境等重绷,具體操作見如下命令
-
先停止正在運(yùn)行的 MeterSphere 容器,然后再刪除容器
msctl uninstall
-
卸載應(yīng)用數(shù)據(jù)
rm -rf /opt/metersphere rm -rf /usr/local/bin/msctl rm -rf ~/.msrc
-
卸載 docker 和 docker-compose
systemctl stop docker rm -rf /usr/bin/docker* rm -rf /usr/bin/containerd* rm -rf /usr/bin/ctr rm -rf /usr/bin/runc rm -rf /etc/systemd/system/docker.service systemctl daemon-reload