macOS Big Sur (11.7.2)部署Sonic开源移动端云真机测试平台

安装 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 服务器

    1. 点击这里 下载最新版本的 zip 文件到任意目录(如加速链接失效,请自行前往 这里 下载)。

    2. 解压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
    3. 当前目录下执行以下指令
      $ 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
    4. 前后端部署完毕!(因Eureka心跳机制,刚启动完毕微服务间互相访问需要3~5分钟,请耐心等候)打开浏览器访问 http://host.docker.internal:3000,然后可 直接前往 Agent端部署。
    5. (附)如果您是经验丰富的运维人员,也可以前往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

参考链接


发布者

《macOS Big Sur (11.7.2)部署Sonic开源移动端云真机测试平台》上有2条评论

  1. 楼主,请问你这样设置了,之后通过网页打开不会出现跨域问题吗
    # 配置域名重定向
    $ 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.

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注