使用openstf部署一套内部测试平台

安装环境

安装openstf

  1. sudo docker pull rethinkdb:latest # 拉取rethinkdb 镜像
  2. sudo docker pull sorccu/adb:latest # 拉取android adb 镜像
  3. sudo docker pull devicefarmer/stf:latest #拉取openstf 镜像

部署openstf

openstf部署方式有两种

  1. 集中管理: openstf管理平台所连接的设备在一台机器上

1
2
3
$ docker run -d --name rethinkdb -v /srv/rethinkdb:/data --net host rethinkdb rethinkdb --bind all --cache-size 8192 --http-port 8090
$ docker run -d --name adbd --privileged -v /dev/bus/usb:/dev/bus/usb --net host sorccu/adb:latest
$ docker run -d --name stf --net host devicefarmer/stf stf local --public-ip ${你的ip}
  • 优点:简单快捷适合小规模部署
  • 缺点:不够灵活且单台机器挂载能有限
  1. 分布式管理: openstf提供了provider模式可以用来进行分布式部署

需要准备两台机器A,B 在机器A上部署OpenSTF管理平台

1
2
3
$ docker run -d --name rethinkdb -v /srv/rethinkdb:/data --net host rethinkdb rethinkdb --bind all --cache-size 8192 --http-port 8090
$ docker run -d --name adbd --privileged -v /dev/bus/usb:/dev/bus/usb --net host sorccu/adb:latest
$ docker run -d --name stf --net host devicefarmer/stf stf local --public-ip ${你的ip} --bind-dev-pub="tcp://0.0.0.0:7114" --bind-dev-pull="tcp://0.0.0.0:7116" --allow-remote

注意事项:

1
--bind-dev-pub="tcp://0.0.0.0:7114" --bind-dev-pull="tcp://0.0.0.0:7116"

这行一定要加否则服务将监听在127.0.0.1地址上会导致provider节点无法连接之前没加导致排查了很久

在机器B上部署Provider节点

1
2
$ docker run -d --name adbd --privileged -v /dev/bus/usb:/dev/bus/usb --net host sorccu/adb:latest
$ docker run -d --name stf --net host devicefarmer/stf stf provider --connect-sub tcp://${机器A的IP}:7114 --connect-push tcp://${机器A的IP}:7116 --public-ip ${机器A的IP} --storage-url http://${机器A的IP}:7100/
  • 优点:灵活且理论支持无限拓展连接设备
  • 缺点:配置略微复杂

部署好后访问安装OpenSTF管理平台机器的ip地址加端口7100,如http://192.168.1.1:7100

Donate
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2015-2024 Kaisar
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信