一贾富、系統(tǒng)環(huán)境:CentOS7
centos所有版本下載地址:http://mirrors.aliyun.com/centos/
查看CentOS的版本號(hào):cat /etc/centos-release
查詢操作系統(tǒng)內(nèi)核版本信息:uname -r
查看操作系統(tǒng)位數(shù):getconf LONG_BIT
關(guān)閉防火墻:systemctl stop firewalld.service
查看防火墻狀態(tài):systemctl status firewalld.service
Active行存在disavtive或dead的字樣,說明防火墻已經(jīng)關(guān)閉
二果复、CentOS7部署Docker
1、安裝必要的系統(tǒng)工具
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、設(shè)置開機(jī)時(shí)自動(dòng)啟動(dòng)(可不設(shè)置開機(jī)自動(dòng)啟動(dòng))
systemctl enable docker
5独柑、查看docker運(yùn)行狀態(tài)
systemctl status docker
6迈窟、查看已安裝的docker-ce版本信息
7、查看docker所有運(yùn)行的容器
8忌栅、 以上docker安裝完成车酣,接下來就是需要docker加速器配置了。至于是為什么需要鏡像加速呢狂秘?因?yàn)槟阍谥袊愣茫?/p>
在安裝的時(shí)候我添加的是阿里的軟件源骇径,這里我也用阿里云的鏡像加速。
首先者春,打開阿里云網(wǎng)站:https://cr.console.aliyun.com
其次破衔,打開網(wǎng)頁中 鏡像中心--鏡像加速器,默認(rèn)會(huì)生成屬于你個(gè)人的一個(gè)加速器地址
?這里我將命令寫在一個(gè)shell中钱烟,內(nèi)容如下(因?yàn)槲抑纃ocker安裝的時(shí)候默認(rèn)安裝在/etc/docker下晰筛,所以我就不再遞歸創(chuàng)建)
?將shell腳本加上可執(zhí)行權(quán)限嫡丙,執(zhí)行以下即可完成了鏡像加速的配置并重新加載的配置文件和重啟了docker。
至此读第,Docker的安裝搞定曙博。
問題:
1、docker報(bào)錯(cuò)Get https://registry-1.docker.io/v2/: x509: certificate has expired or is not yet valid
解決辦法:同步一下時(shí)間:ntpdate?cn.pool.ntp.org
三怜瞒、使用Docker部署STF安卓設(shè)備管理平臺(tái)
第一步拉取鏡像
1父泳、拉取STF鏡像:docker pull openstf/stf:latest
2、拉取adb鏡像:docker pull sorccu/adb:latest
3吴汪、拉取rethinkdb鏡像:docker pull rethinkdb:latest
4惠窄、查看拉取下來的鏡像:docker images
?第二步啟動(dòng)鏡像
1、啟動(dòng)rethinkdb數(shù)據(jù)庫
docker run -d --name rethinkdb -v /srv/rethinkdb:/data --net host rethinkdb rethinkdb --bind all --cache-size 500 --http-port 8090
2漾橙、啟動(dòng)adb服務(wù)
docker run -d --name adbd --privileged -v /dev/bus/usb:/dev/bus/usb --net host sorccu/adb:latest
3杆融、啟動(dòng)STF安卓設(shè)備管理平臺(tái)
本地啟動(dòng):docker run -d --name stf --net host openstf/stf stf local --allow-remote
可遠(yuǎn)程訪問:docker run -d --name stf --net host openstf/stf stf local?--allow-remote --public-ip 10.117.34.33
4、通過瀏覽器訪問web頁面霜运,默認(rèn)端口是7100脾歇。登錄的用戶名和郵箱符合格式要求即可,盡情玩耍吧淘捡,少年藕各。
?這里我沒有連接安卓設(shè)備所有顯示為0,沒有設(shè)備連接案淋。
四座韵、Docker部署的adb連接設(shè)備
如何使用docker拉取的adb 連接設(shè)備呢?
首先踢京,要知道怎么像系統(tǒng)adb命令一樣使用adb命令誉碴。
其次,接入安卓設(shè)備進(jìn)STF平臺(tái)中瓣距,實(shí)現(xiàn)安卓設(shè)備的統(tǒng)一管理黔帕。
來吧,展示:
?adb連接設(shè)備的兩種方式:
1蹈丸、USB直連模式
2成黄、adb WiFi模式
以上兩種模式均可參考我之前的文章:https://www.cnblogs.com/hanxiaobei/p/12941996.html
五、另一種接入設(shè)備的方式(該方式為adb連接設(shè)備兩種方式中的USB直連)
因?yàn)槲掖罱⊿TF是在CentOS虛擬機(jī)中逻杖,我本地windows宿主機(jī)有adb且連接了手機(jī)奋岁,我想啟動(dòng)STF時(shí)直接掛上宿主機(jī)的設(shè)備。Just Do It荸百!
前提:
1闻伶、宿主機(jī)和虛擬機(jī)在同一網(wǎng)段且和聯(lián)通(ping命令了解一下)
2、宿主機(jī)啟動(dòng)adb
問題:
使用命令:adb -a -P 5037 fork-server server啟動(dòng)時(shí)報(bào):reply fd for adb server to client communication not specified. 這時(shí)可以用上圖中的命令重新啟動(dòng)一下够话。
連接上之后用adb觀察一下設(shè)備列表展示:
3蓝翰、重新啟動(dòng)一下Docker中的STF
重新啟動(dòng)的命令: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 為我虛擬機(jī)CentOS7的IP
?192.168.209.1 為我宿主機(jī)Windows10的IP
?其他命令參考上圖中露出??
4光绕、宿主機(jī)訪問虛擬機(jī)docker中的STF服務(wù):http://192.168.209.130:7100/#!/devices
?到此完成:STF搭建在一個(gè)單獨(dú)的PC上,安卓設(shè)備全部接入在另一臺(tái)PC上畜份,實(shí)現(xiàn)啟動(dòng)STF平臺(tái)掛載上另一臺(tái)PC上的所有設(shè)備诞帐。
?如果還想探索更多姿勢(shì),接入設(shè)備還可以使用adb的wifi模式爆雹,這樣解決了許多設(shè)備同時(shí)連接PC時(shí)數(shù)據(jù)線的雜亂停蕉,不過需要注意的是在啟動(dòng)STF之前需要先把a(bǔ)db wifi連接的設(shè)備全部連接好。
你以為這樣就完了嗎顶别?還沒有谷徙,接下來就是你愉快玩耍的時(shí)間咯。
1驯绎、STF安卓設(shè)備管理平臺(tái)接入公司的LDAP,驗(yàn)證是否公司內(nèi)部員工
2谋旦、STF與appium結(jié)合實(shí)現(xiàn)移動(dòng)端安卓的自動(dòng)化
3剩失、擴(kuò)展構(gòu)建成自己公司的安卓設(shè)備管理平臺(tái),全部接入后實(shí)現(xiàn)統(tǒng)一管理和使用