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

前言

大致分为以下步骤:
• 安装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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,222评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,455评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,720评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,568评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,696评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,879评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,028评论 3 409
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,773评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,220评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,550评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,697评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,360评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,002评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,782评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,010评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,433评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,587评论 2 350

推荐阅读更多精彩内容