美文网首页
开源云真机平台sonic-2.3.1版本部署实践

开源云真机平台sonic-2.3.1版本部署实践

作者: 菜鸟级测试工程师小明 | 来源:发表于2023-02-23 20:47 被阅读0次

前言

大致分为以下步骤:
• 安装docker、docker-compose
• 安装MySQL,创建sonic数据库
• 安装jdk及Android SDK
• 部署sonic,注册agent
• 部署agent,连接使用手机

一、安装docker和docker-compose(已安装请自行跳过)

1.手动下载安装

下载地址:https://docs.docker.com/desktop/install/mac-install/
安装参考:https://yeasy.gitbook.io/docker_practice/install/mac
如同 macOS 其它软件一样,安装也非常简单,双击下载的 .dmg 文件,然后将那只鲸鱼图标拖拽到 Application 文件夹即可(其间需要输入用户密码)。

image.png
2.运行

从应用中找到 Docker 图标并点击运行。


image.png

运行之后,会在右上角菜单栏看到多了一个鲸鱼图标,这个图标表明了 Docker 的运行状态。


image.png

每次点击鲸鱼图标会弹出操作菜单。


image.png
之后,你可以在终端通过命令检查安装后的 Docker 版本。
$ docker --version
Docker version 20.10.0, build 7287ab3

如果 docker versiondocker info 都正常的话,可以尝试运行一个 Nginx 服务器

$ docker run -d -p 80:80 --name webserver nginx

服务运行后,可以访问 http://localhost,如果看到了 "Welcome to nginx!",就说明 Docker Desktop for Mac 安装成功了。

image.png

要停止 Nginx 服务器并删除执行下面的命令:

$ docker stop webserver
$ docker rm webserver

docker Desktop for Mac/Windows 自带 docker-compose 二进制文件,安装 Docker 之后可以直接使用。

$ docker-compose --version

docker-compose version 1.27.4, build 40524192

二、安装mysql数据库

1.安装
docker pull mysql:5.7.33
2.安装完成后启动
docker run -d  --name sonic -e MYSQL_ROOT_PASSWORD=Sonic123 -p 3306:3306 mysql:5.7.33
3.创建数据库
# 进入mysql容器内
docker exec -it sonic sh
# 容器内登录mysql
mysql -uroot -pSonic123
# mysql命令行操作
mysql> create database sonic character set utf8 collate utf8_general_ci;

三、安装jdk和Android-sdk

比较简单,请自行百度安装,跳过

四、部署sonic

1.下载zip包:

https://github.com/SonicCloudOrg/sonic-server/releases/tag/v2.3.1

2.修改.env部署文件

解压zip,更改.env中的信息,修改的结果参考如下,
注意!!!IP都换成自己的IP

################################################
#         Do you need any help?                #
# Visit https://sonic-cloud.gitee.io/#/Deploy  #
################################################

##################
# Service Config #
##################
SONIC_SERVER_HOST=192.168.0.3
SONIC_SERVER_PORT=3000
SONIC_EUREKA_USERNAME=sonic
SONIC_EUREKA_PASSWORD=sonic
SONIC_EUREKA_PORT=9090

################
# MySQL Config #
################
MYSQL_HOST=192.168.0.3
MYSQL_PORT=3306
MYSQL_DATABASE=sonic
MYSQL_USERNAME=root
MYSQL_PASSWORD=Sonic123

################
# User Config  #
################
SECRET_KEY=sonic
EXPIRE_DAY=14
PERMISSION_ENABLE=true
PERMISSION_SUPER_ADMIN=sonic
REGISTER_ENABLE=true
NORMAL_USER_ENABLE=true
LDAP_USER_ENABLE=false
LDAP_USER_ID=cn
LDAP_BASE_DN=ou=users
LDAP_BASE=ou=system
LDAP_USERNAME=uid=admin,ou=system
LDAP_PASSWORD=sonic
LDAP_URL=ldap://192.168.0.3:10389
LDAP_OBJECT_CLASS=person

若看不到.env文件,执行如下命令

defaults write com.apple.finder AppleShowAllFiles TRUE; killall Finder

sonic-server-v2.3.1目录下执行以下指令

docker-compose up -d

如果您为中国大陆用户,出现访问DockerHub较慢的情况,我们可以

1.配置国内加速镜像源(推荐)
2.执行以下指令直接使用加速镜像(不推荐,加速源可能出现不稳定或网络波动,后续down的时候需要docker-compose -f docker-compose-zh.yml down)

docker-compose -f docker-compose-zh.yml up -d

前后端部署完毕!(因Eureka心跳机制,刚启动完毕微服务间互相访问需要3~5分钟,请耐心等候)打开浏览器访问 http://localhost:3000,然后可 直接前往 Agent端部署。(此处localhost可替换为IP地址)

3.注册登录

附)如果您是经验丰富的运维人员,也可以前往Eureka页面查看各微服务状态。

访问地址:http://192.168.0.3:3000,(注意换成自己的IP)进行账号注册,并登录。

image.png

五、部署agent

1.下载openjdk
brew install openjdk

安装完成后,在你的环境变量配置文件中进行环境变量配置

export JAVA_HOME='/usr/local/opt/openjdk/libexec/openjdk.jdk/Contents/Home'
2.下载agent压缩包

https://github.com/SonicCloudOrg/sonic-agent/releases/tag/v2.3.1,下载完成后解压

image.png
3.创建agent

登录成功后,需要创建一个agent


image.png

创建完成后,点击复制Agent Key,后面会用到


image.png

进入agent解压缩后的文件夹路径下

cd sonic-agent-v2.1.2-macosx_x86_64 
# 给予当前目录下全部文件的执行属性,避免报错“无法验证开发者”
$ sudo xattr -r -d com.apple.quarantine .

修改 config/application-sonic-agent.yml 配置文件(注意修改agent的key、host和wda-bundle-id为自己的),如下:
iOS端WDA的安装可参考:https://cloud.tencent.com/developer/article/1864001

sonic:
  agent:
    # 替换为部署Agent机器的ipv4
    host: host.docker.internal
    # 替换为Agent服务的端口,可以自行更改
    port: 7777
    # 替换为前端新增Agent生成的key
    key: 5aa13292-b9a8-408c-a091-d784d1f37472
  server:
    # 改成server的SONIC_SERVER_HOST
    host: host.docker.internal
    # 改成server的SONIC_SERVER_PORT
    port: 3000

modules:
  android:
    # 是否开启安卓模块
    enable: true
    # 是否开启sonic-android-supply远程adb调试功能
    use-sas: true
  ios:
    # 如果不需要连接iOS设备,请将true改为false。开启的windows用户请确保本机已安装iTunes
    enable: true
    # 替换为你自己使用的wda的bundleId,如果没有.xctrunner后缀会自动补全,建议使用公司的开发者证书
    wda-bundle-id: com.sonic.WebDriverAgentRunner
  sgm:
    # 是否开启sonic-go-mitmproxy网络抓包功能
    enable: true

启动服务,如下:

java -Dfile.encoding=utf-8 -jar sonic-agent-macosx-x86_64.jar

启动完成后连接手机,就可以在前端平台上对手机进行操作了!


image.png image.png

参考文档:
https://www.mobibrw.com/2023/35906
https://developer.aliyun.com/article/1051081

相关文章

网友评论

      本文标题:开源云真机平台sonic-2.3.1版本部署实践

      本文链接:https://www.haomeiwen.com/subject/udhtldtx.html