sonic是最近很火的开源云真机平台,支持分布式部署,功能也非常丰富,我们需要一套环境远程执行自动化测试,于是,就部署了一套。当然,官方有项目详细的部署文档,本文结合我们自己的情况选择一台Linux主机上完成整个部署。
官网:https://sonic-cloud.gitee.io/#/Home
github: https://github.com/SonicCloudOrg
1、安装docker和安装mysql
yum install -y docker#同时安装docker-compose否则运行出错
yum install -y docker-compose
安装mysql:https://www.runoob.com/mysql/mysql-install.html
2、下载 sonic 平台
sonic把服务都制作成了docker-compose.yaml
,这大大降低了服务部署的难度。
下载sonic-server-simple
,该项目用于启动sonic前后端服务。
> wget https://github.com/SonicCloudOrg/sonic-server-simple/archive/refs/tags/v1.3.2-release.tar.gz # 下载
> tar -zxvf v1.3.2-release.tar.gz # 解压
> cd sonic-server-simple-1.3.2-release # 进入目录
> vim docker-compost.yaml # 编辑文件内容
3、没有用到Mysql编辑文件如下:
...省略...
services:# 从这里开始加sonic-mysql:image: "mysql:5.7"hostname: sonic-mysqlcommand: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_cienvironment:- MYSQL_ROOT_PASSWORD=Sonic!@#123- MYSQL_DATABASE=sonicvolumes:- ./mysql/data:/var/lib/mysqlports:- "3307:3306"networks:- sonic-network# 这里结束,然后下面还需要改一下HOSTsonic-server-simple:image: "sonicorg/sonic-server-simple:v1.3.2-release"container_name: sonic-server-simpleenvironment:- MYSQL_HOST=sonic-mysql #这里的HOST要改成sonic-mysql哦
...省略...
编辑内容:
version: '3'
services:sonic-server-simple:image: "sonicorg/sonic-server-simple:v1.3.2-release"environment:#以下为MySql配置,localhost请替换为自己MySql服务的ipv4地址- MYSQL_HOST=10.22.33.44 #需要修改- MYSQL_PORT=3360 #需要修改- MYSQL_DATABASE=sonic #需要修改- MYSQL_USERNAME=root #需要修改- MYSQL_PASSWORD=test@123 #需要修改#在服务器部署的话,localhost改为服务器ip,port更改为sonic-server-simple暴露的port(一般不变)- SONIC_API_HOST=10.22.33.44 #需要修改- SONIC_API_PORT=8094- SONIC_NETTY_PORT=8095#token加密的key值- SECRET_KEY=sonic#身份验证token有效天数- EXPIRE_DAY=14#前端页面访问地址,不填默认为http://localhost:3000- CLIENT_HOST=http://localhost:3000#文件保留天数(指测试过程产生的文件,包括图片、录像等等)- FILE_KEEP_DAY=60#测试结果保留天数- RESULT_KEEP_DAY=60#以下均为Cron表达式#清理文件定时任务- FILE_CRON=0 0 12 * * ?#清理测试结果定时任务- RESULT_CRON=0 0 12 * * ?#发送日报定时任务- DAY_CRON=0 0 10 * * ?#发送周报定时任务- WEEK_CRON=0 0 10 ? * Monnetworks:- sonic-networkvolumes:- files:/keepFiles/- files:/imageFiles/- files:/recordFiles/- files:/packageFiles/- files:/logs/ports:- "8094:8094"- "8095:8095"sonic-client-web:image: "sonicorg/sonic-client-web:v1.3.2-release"environment:#192.168.1.1改为你的ipv4,port更改为sonic-server-simple暴露的port(一般不变)- SONIC_API_HOST=10.22.33.44 #需要修改- SONIC_API_PORT=8094networks:- sonic-networkports:- "3000:80" volumes:files:networks:sonic-network:driver: bridge
4、进入目录运行程度
docker-compose up -d
5、如果运行docker-compose,报错:-bash: docker-compose: 未找到命令
yum install docker-compose##或者运行下面的命令
curl -L https://get.daocloud.io/docker/compose/releases/download/1.29.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose##检测是否成功
docker-compose version
6、运行行平台:IP:3000