CentOS7使用Docker安裝STF安卓裝置管理平臺

testingbang發表於2020-11-26

一、系統環境: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、擴充套件構建成自己公司的安卓裝置管理平臺,全部接入後實現統一管理和使用


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69942496/viewspace-2737073/,如需轉載,請註明出處,否則將追究法律責任。

相關文章