CentOS7使用Docker安裝STF安卓設備管理平台


一、系統環境:CentOS7

centos所有版本下載地址:http://mirrors.aliyun.com/centos/

查看CentOS的版本號:cat /etc/centos-release

查詢操作系統內核版本信息:uname -r

查看操作系統位數:getconf LONG_BIT

關閉防火牆:systemctl stop firewalld.service

查看防火牆狀態:systemctl status firewalld.service

Active行存在disavtive或dead的字樣,說明防火牆已經關閉

 

二、CentOS7部署Docker

1、安裝必要的系統工具

yum install -y yum-utils device-mapper-persistent-data lvm2

2、添加軟件源信息

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3、更新並安裝docker-ce

yum makecache fast

yum -y install docker-ce

4、設置開機時自動啟動(可不設置開機自動啟動)

systemctl enable docker

5、查看docker運行狀態

systemctl status docker

6、查看已安裝的docker-ce版本信息

7、查看docker所有運行的容器

8、 以上docker安裝完成,接下來就是需要docker加速器配置了。至於是為什么需要鏡像加速呢?因為你在中國(你懂得)

在安裝的時候我添加的是阿里的軟件源,這里我也用阿里雲的鏡像加速。

首先,打開阿里雲網站:https://cr.console.aliyun.com

其次,打開網頁中 鏡像中心--鏡像加速器,默認會生成屬於你個人的一個加速器地址

 這里我將命令寫在一個shell中,內容如下(因為我知道docker安裝的時候默認安裝在/etc/docker下,所以我就不再遞歸創建)

 將shell腳本加上可執行權限,執行以下即可完成了鏡像加速的配置並重新加載的配置文件和重啟了docker。

至此,Docker的安裝搞定。

問題:

1、docker報錯Get https://registry-1.docker.io/v2/: x509: certificate has expired or is not yet valid

解決辦法:同步一下時間:ntpdate cn.pool.ntp.org

 

三、使用Docker部署STF安卓設備管理平台

第一步拉取鏡像

1、拉取STF鏡像:docker pull openstf/stf:latest

2、拉取adb鏡像:docker pull sorccu/adb:latest

3、拉取rethinkdb鏡像:docker pull rethinkdb:latest

4、查看拉取下來的鏡像:docker images

 第二步啟動鏡像

1、啟動rethinkdb數據庫

docker run -d --name rethinkdb -v /srv/rethinkdb:/data --net host rethinkdb rethinkdb --bind all --cache-size 500 --http-port 8090

2、啟動adb服務

docker run -d --name adbd --privileged -v /dev/bus/usb:/dev/bus/usb --net host sorccu/adb:latest

3、啟動STF安卓設備管理平台

本地啟動:docker run -d --name stf --net host openstf/stf stf local --allow-remote

可遠程訪問:docker run -d --name stf --net host openstf/stf stf local --allow-remote --public-ip 10.117.34.33

4、通過瀏覽器訪問web頁面,默認端口是7100。登錄的用戶名和郵箱符合格式要求即可,盡情玩耍吧,少年。

 這里我沒有連接安卓設備所有顯示為0,沒有設備連接。

 

四、Docker部署的adb連接設備

如何使用docker拉取的adb 連接設備呢?

首先,要知道怎么像系統adb命令一樣使用adb命令。

其次,接入安卓設備進STF平台中,實現安卓設備的統一管理。

來吧,展示:

 adb連接設備的兩種方式:

1、USB直連模式

2、adb WiFi模式

以上兩種模式均可參考我之前的文章:https://www.cnblogs.com/hanxiaobei/p/12941996.html

 

五、另一種接入設備的方式(該方式為adb連接設備兩種方式中的USB直連)

因為我搭建STF是在CentOS虛擬機中,我本地windows宿主機有adb且連接了手機,我想啟動STF時直接掛上宿主機的設備。Just Do It!

前提:

1、宿主機和虛擬機在同一網段且和聯通(ping命令了解一下)

2、宿主機啟動adb

問題:

  使用命令:adb -a -P 5037 fork-server server啟動時報:reply fd for adb server to client communication not specified. 這時可以用上圖中的命令重新啟動一下。

連接上之后用adb觀察一下設備列表展示:

3、重新啟動一下Docker中的STF

 重新啟動的命令:docker run -d --name stf --privileged=true --net host openstf/stf stf local --public-ip 192.168.209.130 --adb-host 192.168.209.1 --adb-port 5037 --allow-remote

 192.168.209.130 為我虛擬機CentOS7的IP

 192.168.209.1 為我宿主機Windows10的IP

 其他命令參考上圖中露出😄

4、宿主機訪問虛擬機docker中的STF服務:http://192.168.209.130:7100/#!/devices

 到此完成:STF搭建在一個單獨的PC上,安卓設備全部接入在另一台PC上,實現啟動STF平台掛載上另一台PC上的所有設備。

 如果還想探索更多姿勢,接入設備還可以使用adb的wifi模式,這樣解決了許多設備同時連接PC時數據線的雜亂,不過需要注意的是在啟動STF之前需要先把adb wifi連接的設備全部連接好。

 

你以為這樣就完了嗎?還沒有,接下來就是你愉快玩耍的時間咯。

1、STF安卓設備管理平台接入公司的LDAP,驗證是否公司內部員工

2、STF與appium結合實現移動端安卓的自動化

3、擴展構建成自己公司的安卓設備管理平台,全部接入后實現統一管理和使用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM