最近由于工作需要渡嚣,異地的研發(fā)同學(xué)需要遠(yuǎn)程連接手機(jī)進(jìn)行bug確認(rèn)俏险、調(diào)試等,所以需要安裝STF工具完成此項(xiàng)需求裤唠。
首先我在windows10上成功搭建并提供了使用莹痢,而后為了更好的提供這項(xiàng)服務(wù)竞膳,申請了虛擬機(jī)在CentOS7上也成功搭建并提供了使用。下面將我的安裝刊侯、部署锉走、使用的步驟詳細(xì)說明一下藕届,希望有此需求的朋友看到我這篇分享后休偶,能快速搭建使用辜羊。
啰嗦幾句:
開始準(zhǔn)備STF的時(shí)候,google碱妆、百度一查喜德,安裝此工具需要安裝很多依賴庫、包等舍悯,不僅要一個(gè)個(gè)下載安裝,由于操作系統(tǒng)饮醇、內(nèi)核版本的不同秕豫,安裝依賴包的時(shí)候可能還需要安裝其他依賴包,就算費(fèi)了九牛二五之力都安裝成功祠墅,啟動(dòng)的時(shí)候又要先啟動(dòng)數(shù)據(jù)庫毁嗦、adb回铛、stf,可能又會(huì)遇到很多問題腔长。所以我放棄了這種方法验残,想著是不是還有其他簡單易用的方法呢。
之后就看了Docker安裝STF這種方式想鹰,Docker(自行去了解一下)的安裝和部署在windows10、CentOS7下都是很easy的,也比較傻瓜槽片。接下來就是安裝部署STF肢础,一查還是要docker pull各種鏡像传轰,然后啟動(dòng),還是一樣費(fèi)事辽聊。但是程序猿的分享精神真是很“偉大”的一件事情期贫,在github上我找到了一個(gè)分享,簡單修改一下配置文件玛臂,就可以直接用一個(gè)命令來安裝部署以及啟動(dòng)STF迹冤,并能在瀏覽器端開始使用虎忌。再次很感謝這個(gè)上傳者h(yuǎn)ttps://github.com/nikosch86/stf-poc。
下面開始完整的安裝部署锋勺、啟動(dòng)使用的流程:
Windows10篇
1. 在Docker官方網(wǎng)站下載docker for windows10的安裝包狡蝶,傻瓜安裝(會(huì)自動(dòng)開啟Hyper-V服務(wù)贪惹,windows10自建一個(gè)虛擬機(jī)作為docker的服務(wù)端),成功安裝后,開啟docker服務(wù)
2. 在這里https://github.com/nikosch86/stf-poc下載stf-poc-master文件夾到docker服務(wù)所在機(jī)器上泉孩,要做的修改如下:
????1) .env文件:將ip改成docker服務(wù)所在機(jī)器的ip
? ? 2) docker-compose.yml文件:兩個(gè)地方
????????adb配置模塊:將 - /dev/bus/usb:/dev/bus/usb寓搬,改成-D:/dockerdisk/dev/bus/usb:/dev/bus/usb(D:/dockerdisk這個(gè)位置隨便寫句喷,只要是windows上的地址就行兔毙,因?yàn)檫B接手機(jī)時(shí)要使用wifi方式,所以地址可以隨便寫)
? ? ? ? stf-provider配置模塊:command: stf provider --name ....锡溯,在其最后添加--allow-remote允許遠(yuǎn)程訪問祭饭。
? ? 3)配置好后甜癞,win+R打開cmd命令行方式悠咱,需要在stf-poc-master文件夾目錄下進(jìn)行征炼,可參考readme谆奥。執(zhí)行docker-compose up -d --build,出現(xiàn)下述展示宰译,說明啟動(dòng)成功
Starting stf-poc-master_adb_1 ... done
Starting stf-poc-master_storage-temp_1 ... done
Starting stf-poc-master_auth_1? ? ? ? ? ? ? ? ... done
Starting stf-poc-master_triproxy_1? ? ... done
Starting stf-poc-master_rethinkdb_1? ? ? ? ? ? ... done
Starting stf-poc-master_dev-triproxy_1? ? ? ? ... done
Starting stf-poc-master_storage-plugin-image_1 ... done
Starting stf-poc-master_storage-plugin-apk_1? ... done
Starting stf-poc-master_provider_1? ? ? ? ? ? ... done
Starting stf-poc-master_migrate_1? ? ? ? ? ? ? ... done
Starting stf-poc-master_processor_1? ? ? ? ? ? ... done
Starting stf-poc-master_websocket_1? ? ? ? ? ? ... done
Starting stf-poc-master_reaper_1? ? ? ? ? ? ? ... done
Starting stf-poc-master_api_1? ? ? ? ? ? ? ? ? ... done
Starting stf-poc-master_app_1? ? ? ? ? ? ? ? ? ... done
Starting stf-poc-master_nginx_1? ? ? ? ? ? ? ? ... done
3. 在瀏覽器中輸入ip沿侈,回車缀拭,提示登陸STF,就可以看到STF界面了咙好。
CentsOS7篇
(CentOS一定是CentOS7褐荷,內(nèi)核版本是3.10.*)以下是官方網(wǎng)站的安裝步驟:
????1. 安裝所依賴的包,一般都安裝了叛甫,檢查一下即可
yum install -y yum-utils device-mapper-persistent-data lvm2
????2. 配置the stable repository: yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
? ? 3.可選項(xiàng),默認(rèn)禁用(我就是禁用缀台,沒做修改)
? ??yum-config-manager --enable docker-ce-edge
????yum-config-manager --enable docker-ce-test
? ? 4. 下載安裝docker:yum install docker-ce or yum install docker-ce-版本號(hào)
? ? 5. 啟動(dòng)docker:systemctl start docker
? ? 6. 安裝docker-compose:curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
????chmod +x /usr/local/bin/docker-compose //賦予其可執(zhí)行權(quán)限
? ? 7. 將gitbub上他人分享的stf小工具下載到服務(wù)器上棠赛,修改相應(yīng)配置文件
????????啟動(dòng)前按readme修改文件
????????1) 修改.env中的ip、password膛腐,為本機(jī)的ip睛约,password隨意寫
????????2) 修改docker-compose.yml:在 command: stf provider這一行最后 添加--allow-remote
? ? 8.pull鏡像并啟動(dòng)STF:docker-compose up -d --build(需要在stf-poc-master文件夾目錄下進(jìn)行,可參考readme)
? ? 9.啟動(dòng)成功后哲身,去瀏覽器中輸入ip辩涝,回車,就能看到STF登陸界面了
使用wifi方式連接手機(jī)
? ? windows10勘天、CentOS7均可使用下述步驟怔揩,使用wifi方式連接手機(jī)(由于docker中的adb識(shí)別不到物理設(shè)備usb連接的手機(jī)):
? ? ? ? 1.在windows筆記本上,使用USB方式連接手機(jī)脯丝,adb devices可以看到連接的手機(jī)
? ? ? ? 2.在windows筆記本上商膊,在cmd中,執(zhí)行adb tcpip 5555? ? ///這個(gè)命令可以將手機(jī)的adb程序以wifi的模式再啟動(dòng)晕拆,如果看到 restarting in TCP mode port: 5555实幕,則啟動(dòng)成功。
? ? ? ? 3.執(zhí)行命令adb connect <手機(jī)ip>凰锡,返回“connected to <手機(jī)ip>:5555”后裕膀,拔掉數(shù)據(jù)線
? ? ? ? 4.進(jìn)入docker中,首先找到adb的容器ID抄谐,執(zhí)行命令
? ? ? ? 【windows10】docker ps -a|findstr adb
? ? ? ? 【CentOS】docker ps -a|grep? adb
????????d45381f290fe? ? ? ? sorccu/adb:latest? ? ? ? ? ? "/sbin/tini -- adb -?"? 18 hours ago? ? ? ? Up 2 hours? ? ? ? ? ? ? ? ? ? 5037/tcp? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? stf-poc-master_adb_1
? ? ? ? 【windows10、CentOS】docker exec -it d45381f290fe? sh
????????????????????????????????????????????????/ # adb devices
????????????????????????????????????????????????List of devices attached
????????????????????????????????????????????????/ # adb connect 10.7.44.55
????????????????????????????????????????????????????connected to 10.7.44.55:5555
???????????????????????????????????????????????/ # adb devices
????????????????????????????????????????????????List of devices attached
????????????????????????????????????????????????10.7.44.55:5555? ? ? ? device
????????????????連接手機(jī)過程中,需要在手機(jī)中安裝STFService.apk酷窥,此時(shí)有的手機(jī)可能失敗蓬推,通過provider鏡像去查看log沸伏,docker logs provider的容器ID。記得每次連接時(shí)留特,手機(jī)端需要允許USB調(diào)試蜕青,即使去點(diǎn)擊“允許”
????????????????備注:如果連接失敗,重試adb tcpip 5555菱鸥,adb connect...
????????????????手機(jī)離線后重新連接氮采。
手機(jī)連接后,瀏覽器中就能看到已連接的手機(jī)躯概。具體STF怎么使用,大家自行g(shù)oogle或者官網(wǎng)查看固蛾。
備注:小米手機(jī)連接時(shí),需要登陸小米賬號(hào)后懂傀,再去做下述步驟。