STF STF 折腾之路 最后换成 Docker 来安装

玄月指光 · 2017年10月12日 · 最后由 落雨 回复于 2019年11月28日 · 1173 次阅读
本帖已被设为精华帖!

STF docker 方式安装

准备材料

  • VirtualBox 虚拟机 Ubuntu 系统盘
  • 安装 docker
  • stf 镜像

虚拟机安装以及安装 Ubuntu 操作系统滤过

  • 更新软件 sudo apt-get update
  • 安装 sudo apt-get install docker
  • 安装 sudo apt-get install docker.io
  • 查看 docker 镜像 sudo docker images

拉去 STF 相关镜像

  • sudo docker pull openstf/stf:latest # STF 镜像
  • sudo docker pull sorccu/adb:latest # android adb 镜像
  • sudo docker pull rethinkdb:latest # rethinkdb 镜像
  • sudo docker pull openstf/ambassador:latest
  • sudo docker pull nginx:latest # nginx 代理镜像
  • 查看已经拉去好的镜像 sudo docker images

配置好虚拟机的网络桥接模式

  • 配置虚拟机网卡为桥接模式

  • 查看本机的 IP 地址 ifconfig

  • 192.168.1.100 这个 IP 地址是根据你所在的网络自动分配的

  • 如 enp0s3 192.168.1.100 在物理机上 ping 192.168.1.100 是否能 ping 通

启动镜像

  • 先启动一个数据库
    docker run -d --name rethinkdb -v /srv/rethinkdb:/data --net host rethinkdb rethinkdb --bind all --cache-size 8192 --http-port 8090

  • 再启动 adb service
    docker run -d --name adbd --privileged -v /dev/bus/usb:/dev/bus/usb --net host sorccu/adb:latest

  • 再启动 stf 启动的时配置的 IP 地址为你虚拟机桥接的网址 enp0s3
    docker run -d --name stf --net host openstf/stf stf local --public-ip 192.168.1.100

  • 查看 启动的 docker 镜像 命令: sudo docker ps -a

在虚拟机中打开浏览器查看 STF 服务

  • FireFox 输入地址 192.168.1.100:7100

连接测试设备

  • 从物理机中连接 android 测试设备

STF 上操作真机

遇到的坑

  • 参考链接 https://testerhome.com/topics/2988
  • 参考链接 https://testerhome.com/topics/3083
  • 在 Ubuntu 中根据 论坛的方法安装,总是遇到一些错误,所以放弃了
  • 在 Mac 上也是安装过 遇到 npm 安装 stf 服务有些插件下不下来,所以也是放弃了,后面改用 docker 服务来安装,简单快速,省时间
  • 如果需要二次开发 STF 还是需要在本地安装
共收到 21 条回复 时间 点赞

github 上有一个比较全面部署 stf 的脚本 https://github.com/thinkhy/deploy-stf-docker ,可以参考下。我在 Ubuntu16.04 下部署成功了,还是挺方便的。


只要执行这个 deploy_stf.sh 就可以了吗?

玄月指光 回复

是的,不过他这个脚本里检测本地 ip 和 dns 的在我这不太准确,建议手动把.sh、.nginx 上的 ip 地址和 dns 手动设置下。



通过 deploy_stf.sh 构建成功的 docker 镜像,运行起来后,STF 访问不了

看 readme 就装上的人路过

思寒_seveniruby 将本帖设为了精华贴 10月15日 12:27

感觉用 ubuntu 虚拟机有点蛋疼,我们是物理机用 ubuntu ,然后 docker + nginx 部署。stf local 适合试用,真正用还是结合 nginx 各个组件独立部署比较好。

陈恒捷 回复

是的,如果是在测试内部使用 Docker 搭建是可以的,如果提供给公司内部使用,需要进行设备管理,以及使用培训

docker 环境搭起来以后不要用 docker 来连接手机,而是通过子服务器的方法来连接会比较合理,stf --provider ,后面参数忘了。

  • 我按照脚本,启动 stf 显示的是空白页,这是什么问题,有遇到吗


我 mac 安装的,启动数据库的时候,/srv/rethinkdb 路径说找不到,我电脑里找了一下也没找到,想问下这个路径在哪里的


如图所示,rethinkdb,stf 的容器一直启动不了,请问谁知道怎么回事呢?

启动后不能截图,安装 apk,看日志发现 data 目录没权限,修改了下 storage-temp-3500 参数,后恢复正常
脚本里边 docker run -d --name storage-temp-3500 -v /data:/mnt/storage --privileged=true -p 3500:3000 --dns ${DNS_ADDRESS} openstf/stf stf storage-temp --port 3000

在路上 MAC 下初次搭建 STF 一波三折 中提及了此贴 08月17日 10:36
未来来 回复

mac 上需要在 docker 的设置里面修改 Share FIle,就是你需要自己手动创建文件夹

小荣@Here 回复

请问你这个问题解决了么?我三个都是 exit 的状态。。。

拉取。不是拉去

simple 专栏文章:[精华帖] 社区历年精华帖分类归总 中提及了此贴 12月13日 14:44
simple [精彩盘点] TesterHome 社区 2018 年 度精华帖 中提及了此贴 01月07日 12:08

docker run -d --name stf --net host openstf/stf stf local --public-ip 172.16.60.88 执行到这步也成功创建了容器,但是,就是启动不了该容器,前面那两个容器启动正常。

小荣@Here 回复

一样的问题,解决了吗

秦岭 请教大家,STF 容器启动不起来 中提及了此贴 06月20日 14:20

@ 玄月指光 你好,初次接触 STF,在单个 Ubuntu 上搭建成功了。如果手机设备较多需要连接到多台电脑上,环境如何搭建或者配置?

这里搞了个 adb 的 docker 镜像是什么原因?

@ 玄月指光 你好,我这么搭好后找了几个手机试了下,一开始状态是准备中然后就 offline 或者 disconnect 了

落雨 拟机安装 Ubuntu 系统下 STF 连接小米手机 中提及了此贴 11月28日 17:53

你好,问个问题,我在是在 docker 中安装的 stf,按照帖子安装和启动的。我的 stf 启动后,用 docker ps -a 观看,port 是空的,就是没有端口映射。自然网站已经访问不了。能请问一下出现这个结果的原因吗

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册