安装 Docker Desktop
首先去 Docker 官网下载 macOS 版本的 Docker Desktop 版本(目前(2023/01/06)的最新版本是 4.15.0 (93002)),并安装。
安装配置 MySQL
$ 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中的信息,修改的结果参考如下:
################################################ # Do you need any help? # # Visit https://sonic-cloud.gitee.io/#/Deploy # ################################################ ################## # Service Config # ################## SONIC_SERVER_HOST=host.docker.internal SONIC_SERVER_PORT=3000 SONIC_EUREKA_USERNAME=sonic SONIC_EUREKA_PASSWORD=sonic SONIC_EUREKA_PORT=9090 ################ # MySQL Config # ################ MYSQL_HOST=host.docker.internal MYSQL_PORT=3306 MYSQL_DATABASE=sonic MYSQL_USERNAME=root MYSQL_PASSWORD=Sonic!@#123 ################ # 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://host.docker.internal:10389 LDAP_OBJECT_CLASS=person
- 当前目录下执行以下指令
$ docker-compose up -d
如果您为中国大陆用户,出现访问DockerHub较慢的情况,我们可以
- 配置国内加速镜像源(推荐)
- 执行以下指令直接使用加速镜像(不推荐,加速源可能出现不稳定或网络波动,后续down的时候需要docker-compose -f docker-compose-zh.yml down)
$ docker-compose -f docker-compose-zh.yml up -d
- 前后端部署完毕!(因Eureka心跳机制,刚启动完毕微服务间互相访问需要3~5分钟,请耐心等候)打开浏览器访问 http://host.docker.internal:3000,然后可 直接前往 Agent端部署。
- (附)如果您是经验丰富的运维人员,也可以前往Eureka页面查看各微服务状态。
配置 Sonic 设备接入
# 目前安装的是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 配置文件,如下:
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
楼主,请问你这样设置了,之后通过网页打开不会出现跨域问题吗
# 配置域名重定向
$ 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.