安装 Docker Desktop
首先去 Docker 官网下载 macOS 版本的 Docker Desktop 版本(目前(2023/01/06)的最新版本是 4.15.0 (93002)),并安装。
安装配置 MySQL
1 2 3 4 5 6 7 8 9 10 |
$ brew install mysql # 设置管理员密码 $ mysqladmin -u root password # 手工创建数据库 $ mysql -u root -p -e "create database sonic default character set utf8 collate utf8_general_ci;" # 配置域名重定向 $ echo '127.0.0.1 host.docker.internal' | sudo tee -a /etc/hosts |
安装 Sonic 服务器
-
-
解压zip,更改.env中的信息,修改的结果参考如下:
12345678910111213141516171819202122232425262728293031323334353637383940################################################# Do you need any help? ## Visit https://sonic-cloud.gitee.io/#/Deploy #################################################################### Service Config ###################SONIC_SERVER_HOST=host.docker.internalSONIC_SERVER_PORT=3000SONIC_EUREKA_USERNAME=sonicSONIC_EUREKA_PASSWORD=sonicSONIC_EUREKA_PORT=9090################# MySQL Config #################MYSQL_HOST=host.docker.internalMYSQL_PORT=3306MYSQL_DATABASE=sonicMYSQL_USERNAME=rootMYSQL_PASSWORD=Sonic!@#123################# User Config #################SECRET_KEY=sonicEXPIRE_DAY=14PERMISSION_ENABLE=truePERMISSION_SUPER_ADMIN=sonicREGISTER_ENABLE=trueNORMAL_USER_ENABLE=trueLDAP_USER_ENABLE=falseLDAP_USER_ID=cnLDAP_BASE_DN=ou=usersLDAP_BASE=ou=systemLDAP_USERNAME=uid=admin,ou=systemLDAP_PASSWORD=sonicLDAP_URL=ldap://host.docker.internal:10389LDAP_OBJECT_CLASS=person - 当前目录下执行以下指令
1$ docker-compose up -d
如果您为中国大陆用户,出现访问DockerHub较慢的情况,我们可以
- 配置国内加速镜像源(推荐)
- 执行以下指令直接使用加速镜像(不推荐,加速源可能出现不稳定或网络波动,后续down的时候需要docker-compose -f docker-compose-zh.yml down)
1$ docker-compose -f docker-compose-zh.yml up -d - 前后端部署完毕!(因Eureka心跳机制,刚启动完毕微服务间互相访问需要3~5分钟,请耐心等候)打开浏览器访问 http://host.docker.internal:3000,然后可 直接前往 Agent端部署。
- (附)如果您是经验丰富的运维人员,也可以前往Eureka页面查看各微服务状态。
配置 Sonic 设备接入
1 2 3 4 5 6 7 8 9 10 11 12 13 |
# 目前安装的是openjdk 19, 目前测试可用 $ brew install openjdk $ export JAVA_HOME='/usr/local/opt/openjdk/libexec/openjdk.jdk/Contents/Home' $ wget https://gh.flyinbug.top/gh/https://github.com/SonicCloudOrg/sonic-agent/releases/download/v2.1.2/sonic-agent-v2.1.2-macosx_x86_64.zip $ unzip sonic-agent-v2.1.2-macosx_x86_64.zip $ cd sonic-agent-v2.1.2-macosx_x86_64 # 给予当前目录下全部文件的执行属性,避免报错“无法验证开发者” $ sudo xattr -r -d com.apple.quarantine . |
修改 config/application-sonic-agent.yml 配置文件,如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
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 |
启动服务,如下:
1 |
$ java -Dfile.encoding=utf-8 -jar sonic-agent-macosx-x86_64.jar |
楼主,请问你这样设置了,之后通过网页打开不会出现跨域问题吗
# 配置域名重定向
$ echo '127.0.0.1 host.docker.internal' | sudo tee -a /etc/hosts
macOS 12.3
打开浏览器访问 http://localhost:3000 会出现跨域问题
Access to XMLHttpRequest at 'http://host.docker.internal:3000/server/api/controller/users/loginConfig' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.