成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > 詳解Docker Swarm 在持續(xù)集成測試中的應用

詳解Docker Swarm 在持續(xù)集成測試中的應用

熱門標簽:哈爾濱400電話去哪辦理 燃氣管線地圖標注顏色 400電話申請要什么條件 北京人工外呼系統(tǒng)廠家 廣東如何申請400電話 寧波400電話辦理對企業(yè)的意義 i智能電話機器人yeta 西柏坡地圖標注 話術外呼系統(tǒng)

背景

敏捷(Agile)模式被廣泛應用,測試顯得尤為重要。由于需要頻繁發(fā)布新的版本,我們需要更加頻繁的執(zhí)行測試用例,以確保沒有新的 bug 被引入到版本中。

一個完整的測試流程所需要占用的時間和資源也不可忽視,包括對測試結果的分析都要占用大量的資源。如何在更短時間內,提供完整、全面的測試以保證質量,是我們急于解決的問題,也是保證敏捷開發(fā)能順利進行的關鍵。

Jenkins 實現(xiàn)了無人值守的測試流程,開發(fā)結束后,一旦在測試環(huán)境部署成功,下游的測試任務就會即刻執(zhí)行。

Jenkins 的應用在一定程度上節(jié)省了人力資源,而 Docker 技術可以實現(xiàn)容器 (Container) 快速的拓展,從而節(jié)省了大量的設備資源和時間,快速的完成測試。這在 Jenkins Pipeline(代碼流水線管理)中是非常重要的一個環(huán)節(jié),如圖 1 所示:

圖 1. Jenkins Pipeline

本文主要介紹如何利用 Docker Swarm 集群功能和 Selenium Grid 腳本分發(fā)功能,來搭建一個可以動態(tài)擴容的 Selenium 自動化腳本執(zhí)行環(huán)境。相比于用真實的機器作為 Selenium 自動化腳本執(zhí)行環(huán)境,使用此套環(huán)境可以極大的減少對執(zhí)行環(huán)境的維護工作,比如各種瀏覽器類型的管理和版本的管理。也能極大的減少對腳本執(zhí)行環(huán)境的物質投入,節(jié)省各類資源。

搭建 Docker Swarm 集群

Swarm 簡介

Swarm 是 Docker 官方提供的一款集群管理工具,用來管理 Docker 集群,它將若干臺 Docker 主機抽象為一個整體,并且通過一個入口統(tǒng)一管理這些 Docker 主機上的各種 Docker 資源。

Swarm 只是一個調度器(Scheduler)加路由器(Router),Swarm 自己不運行容器,它只是接受 Docker 客戶端發(fā)送過來的請求,調度適合的節(jié)點來運行容器,這意味著,即使 Swarm 由于某些原因掛掉了,集群中的節(jié)點也會照常運行,當 Swarm 重新恢復運行之后,它會收集重建集群信息。

Swarm 和 Kubernetes 比較類似,但是更加輕,具有的功能也較 Kubernetes 更少一些。

環(huán)境準備

為了搭建 Docker Swarm 集群環(huán)境,我在示例中準備了兩臺機器。一臺作為 manager 節(jié)點,同時也作為一個 worker 節(jié)點,另一臺只作為一個 worker 節(jié)點。

這里假設我們的兩個機器 IP 信息如下:

  • M1:10.13.181.1
  • M2:10.13.181.2

Docker Engine 從 V1.12.0 版本開始,原生集成了 Docker Swarm,所以只要在每臺機器上安裝 Docker,就可以直接使用 Docker Swarm。在這里,關于 Docker 的安裝不再詳細介紹,請按照官方 Docker Swarm 文檔 進行安裝。安裝完成后,在每臺機器上將 Docker 服務啟動。

提示:

注意:最好關閉機器上的防火墻,否則可能會出現(xiàn) Swarm 集群網(wǎng)絡連接問題。

關閉防火墻的命令:systemctl stop firewalld.service

禁止防火墻開機啟動命令:systemctl disable firewalld.service

步驟

1、創(chuàng)建管理節(jié)點。

我們將機器 M1 作為 manager 節(jié)點,在這臺機器上執(zhí)行命令來初始化集群環(huán)境。命令如下:

sudo docker swarm init --advertise-addr 10.13.181.1

執(zhí)行此命令后,會返回一個用于加入集群的令牌(Token),以便其他 worker 加入此集群。

清單 1. 加入集群令牌示例:

復制代碼 代碼如下:
docker swarm join --token SWMTKN-1-5p3kzxhsvlqonst5wr02hdo185kcpdajcu9omy4z5dpmlsyrzj-
3phtv1qkfdly2kchzxh0h1xft 10.13.181.1:2377

如果想再次獲取加入集群的命令,可以通過執(zhí)行以下命令獲?。?/p>

sudo docker swarm join-token worker

2、將機器 M1 也作為 worker 節(jié)點添加到集群。

在 manager 節(jié)點機器上運行清單 1 的命令,即可將機器 M1 也作為 worker 加入 swarm 集群當中。

3、將另一臺機器 M2 作為 worker 節(jié)點添加到集群。

在機器 M2 上執(zhí)行上述清單 1 中的命令,即可實現(xiàn) M2 加入集群的功能。

4、運行如下命令創(chuàng)建集群網(wǎng)絡:

sudo docker network create -d overlay seleniumnet

這里,seleniumnet 即是我們所創(chuàng)建的集群網(wǎng)絡名稱。

5、在新建的集群網(wǎng)絡上創(chuàng)建 Selenium Grid 服務。

a. 創(chuàng)建 Selenium Grid Hub 服務。基于集群網(wǎng)絡 seleniumnet,將 4444 端口映射到集群的 4444 端口,將 timeout 時間設置為 120 秒,可以增大或減少 timeout 時間,如清單 2 所示。

清單 2. 創(chuàng)建 Selenium Grid Hub 服務:

復制代碼 代碼如下:
sudo docker service create --name selenium-hub --network seleniumnet -p 4444:4444 -e
GRID_TIMEOUT=120 selenium/hub

b. 創(chuàng)建 Selenium Grid Firefox 節(jié)點服務并連接到剛創(chuàng)建 Hub 服務。如清單 3 所示。

清單 3. 創(chuàng)建 Selenium Grid Firefox 節(jié)點服務:

sudo docker service create \

--name node-firefox \

--replicas 5 \

-p 7900:5900 \

--network seleniumnet \

-e HUB_PORT_4444_TCP_ADDR=selenium-hub \

-e HUB_PORT_4444_TCP_PORT=4444 \

selenium/node-firefox-debug bash -c 'SE_OPTS="-host $HOSTNAME" /opt/bin/entry_point.sh'

參數(shù)說明:

-p: 7900:5900 將 Docker 內部 VNC5900 暴露到宿主機的 7900 端口,使得用戶可以通過 VNC 從外面監(jiān)控 Docker 內部的執(zhí)行情況。

c. 創(chuàng)建 Selenium Grid Chrome Node 服務并連接到剛創(chuàng)建 Hub 服務。如清單 4 所示。

清單 4. 創(chuàng)建節(jié)點服務:

sudo docker service create \

--name node-chrome \

--replicas 3 \

-p 7901:5900 \

--network seleniumnet \

-e HUB_PORT_4444_TCP_ADDR=selenium-hub \

-e HUB_PORT_4444_TCP_PORT=4444 \

selenium/node-chrome-debug bash -c 'SE_OPTS="-host $HOSTNAME" 
/opt/bin/entry_point.sh'

參數(shù)說明:

-p: 7901:5900 將 Docker 內部 VNC5900 暴露到宿主機的 7901 端口,使得用戶可以通過 VNC 從外面監(jiān)控 Docker 內部的執(zhí)行情況。

6、檢查環(huán)境搭建是否成功。在機器 M1 上執(zhí)行以下命令,查看每個服務是否啟動成功:

sudo docker service ls

可以看到 Selenium Hub 和 Firefox 節(jié)點、Chrome 節(jié)點都已經(jīng)成功啟動。Firefox 的節(jié)點副本是 5,Chrome 的節(jié)點副本是 3,如圖 2 所示。

圖 2. Docker 服務清單

我們再通過任意一臺機器的 IP 加 4444 端口來打開 Selenium Hub URL 來查看已啟動的 Firefox 和 Chrome 節(jié)點是否已經(jīng)成功掛載到 Hub 節(jié)點上,如圖 3 所示。

Hub url: 10.13.181.1:4444

圖 3. Selenium Hub 的界面圖

從圖 3 可以看出,5 個 Firefox 節(jié)點和 3 個 Chrome 節(jié)點都已經(jīng)成功掛載到 Hub 節(jié)點上。說明此時 Docker Swarm 環(huán)境里已經(jīng)提供了 5 個 Firefox 節(jié)點和 3 個 Chrome 節(jié)點可以用來執(zhí)行 Selenium 自動化測試腳本。

擴容方法

用戶可以根據(jù)腳本執(zhí)行數(shù)量,隨時動態(tài)的擴容各個節(jié)點的數(shù)量,提高自動化腳本的執(zhí)行效率,例如我們需要 10 個可以運行 Firefox 瀏覽器的 Container,對應的命令如下:

sudo docker service scale node-firefox=10

在 Docker Swarm 運行 Jenkins Job

用戶在 Docker Swarm 中運行 Jenkins Job,并不需要在 Jenkins 做多余的配置,而是需要在對應的自動化腳本中調用 Selenium Hub,從而以遠程的方式調用 WebDriver。這樣就實現(xiàn)了在 Docker Container 中運行 Selenium 腳本。

以本文中的場景為例,只需要在自動化腳本中調用遠程 Selenium Hub 即可,如下所示:http://9.111.139.104:4444/wd/hub

在 Selenium Grid 中運行自動化腳本

基本概念

Selenium Grid,用于分布式自動化測試,也就是說一套 Selenium 代碼可在不同的環(huán)境上運行,這樣做可以方便的將應用運行在 Docker 所提供的不同 Container 中。

Selenium Grid 有兩個概念:

  • Hub:主節(jié)點,你可以看作總調度中心。
  • Node:分支節(jié)點,你可以看作是真正執(zhí)行任務的 worker。

也就是說在 Selenium Grid 中只能有一個主 Hub,但可以在本地或遠程建立 N 多個分支節(jié)點,測試腳本指向主 Hub,由主 Hub 分配給本地/遠程節(jié)點運行測試用例。

實現(xiàn)方式

要實現(xiàn)在 Selenium Grid 中運行自動化腳本,首先我們要創(chuàng)建一個 remote driver 的對象,可以通過圖 4 源碼實現(xiàn),截圖中所對應的輸入?yún)?shù) selhub 是 Selenium hub 的 URL:http://9.111.139.104:4444/wd/hub

圖 4. 自動化腳本的代碼截圖

通過調用上述的 driver,就可以實現(xiàn)將自動化腳本運行在 Docker Container 中。

結束語

在持續(xù)集成測試中,將測試部署到 Docker Swarm 中,通過 Selenium Grid 自動分配執(zhí)行測試的節(jié)點,可以提升測試效率,增大測試的范圍,在快速迭代中能夠更好的保證所交付的產(chǎn)品質量,節(jié)省測試資源。

原文鏈接: https://www.ibm.com/developerw ... .html

標簽:襄陽 珠海 巴中 張家口 湘潭 阜陽 西藏 開封

巨人網(wǎng)絡通訊聲明:本文標題《詳解Docker Swarm 在持續(xù)集成測試中的應用》,本文關鍵詞  詳解,Docker,Swarm,在,持續(xù),;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《詳解Docker Swarm 在持續(xù)集成測試中的應用》相關的同類信息!
  • 本頁收集關于詳解Docker Swarm 在持續(xù)集成測試中的應用的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    成年人看的免费视频| 黄色软件在线观看| 中文字幕中文字幕在线十八区| 国内精品美女av在线播放| 亚洲va欧美va在线观看| 国产老头和老头xxxx×| 国产精品66部| 老司机成人免费视频| 亚洲视频精品| 四季av综合网站| 国产日韩视频一区二区三区| 8v天堂国产在线一区二区| 国产精品日韩一区| 在线手机福利影院| 国产一级片免费| 久热精品免费视频| 精品一区二区三区在线观看国产| 女主播福利一区| 免费观看亚洲视频| 老牛影视av牛牛影视av| 欧美久久久久久久久| 老司机福利av| 夜色资源站国产www在线视频| 神马国产精品影院av| 久久婷婷五月综合| 大黄网站在线观看| 色猫咪免费人成网站在线观看| 黄色av免费在线观看| 日韩欧美在线第一页| 成年人黄色网址| 无码无遮挡又大又爽又黄的视频| 一级片一区二区三区| 日本高清不卡一区二区三| 久久精品一区二区三区av| 91尤物国产福利在线观看| 国产精品日韩精品欧美在线| 欧美又粗又大又长| 成人性片免费| 国产成人精品亚洲日本在线桃色| 亚洲欧洲一区二区天堂久久| 中文字幕国产一区二区| 国产欧美亚洲视频| 欧美一区永久视频免费观看| 97久久精品视频| 成人免费直播live| 国产av无码专区亚洲av麻豆| 亚洲蜜桃精久久久久久久久久久久| 999av小视频在线| 精品国内自产拍在线观看| 偷拍自拍亚洲| 成人高清免费观看mv| 尤物在线精品视频| 国产主播中文字幕| 欧美 日韩 国产一区二区在线视频| 操操操日日日| 久久夜色电影| 男人午夜免费视频| 精品国产九九九| 久草视频精品在线| 国产黄色av片| 欧美日韩www| 一道本在线观看视频| 成人资源在线播放| 久草中文在线| 欧美专区在线| 欧美性xxxxxx| 国产成人愉拍精品久久| 国产精品亚洲综合久久小说| 91久久久久久久一区二区| 四虎成人精品| 国产精品免费视频一区| 国产在线视频三区| 九色在线播放| 国产一区二区三区四区| 8x海外华人永久免费日韩内陆视频| 亚洲免费av在线| 91精品91久久久中77777| 日韩影院在线观看| 永久免费精品影视网站| 精品国产不卡一区二区| 手机在线免费看av| 欧美两根一起进3p做受视频| 久久精品国产99久久| 国语对白在线播放| 99国产精品视频免费观看| 国产剧情演绎av| 国产午夜福利在线播放| 午夜美女福利视频| 欧美一区二区在线播放| 亚洲图片欧美日产| 精品一区二区三区毛片| 牛牛热在线视频| 91国偷自产一区二区三区观看| 国产一级片在线| 国产一区二区三区视频| 日韩成人在线观看| 国产美女18xxxx免费视频| 亚洲精品18| 日韩在线视频免费播放| 国产精品入口芒果| 精精国产xxxx视频在线| 久久久久久久久久毛片| 午夜免费电影一区在线观看| 巨乳诱惑日韩免费av| 国产永久在线观看| 国产精品超碰97尤物18| 蜜臀av.com| 18av在线视频| 成人区精品一区二区| 国产大学生自拍视频| 最新黄色片网站| 精品一区国产| 精品美女www爽爽爽视频| 国产精品18久久久久久麻辣| 奇米影视第四色7777| 欧美日韩一区三区| 国产精品涩涩涩视频网站| 色五月激情五月| 精品国产乱码久久久久久果冻传媒| 国产91国语对白在线| 蜜桃视频www网站在线观看| 99久久99久久精品免费看小说.| 日韩国产伦理| 97精品久久人人爽人人爽| av网站在线免费| 国模极品一区二区三区| 久久久久久久av麻豆果冻| 日本久久久久久久久久久| 在线伊人免费视频| 岳张嘴把我的精子吞下去| 亚洲欧美日韩专区| 免费看成年人视频| 日韩一本大道| 国产mv免费观看入口亚洲| 亚洲天堂777| 久久久久久久波多野高潮日日| 曰批又黄又爽免费视频| 久久国内精品一国内精品| 中文字幕成人乱码在线电影| 性生活免费观看视频| 综合另类专区| 加勒比色老久久爱综合网| 激情伊人五月天久久综合| 女同性恋一区二区三区| 日韩欧乱色一区二区三区在线| 欧美成人一区二区三区电影| 韩日成人影院| 欧美在线激情视频| 国产xxxxxxxxx| 欧美久久一区二区三区| 国产99视频精品免视看7| 久久久久久免费| 999福利视频| 成人无码www在线看免费| 91在线亚洲| 潘金莲一级淫片aaaaaa播放| 色哟哟中文字幕| 在线亚洲+欧美+日本专区| 国产亚洲欧美日韩在线观看一区二区| 国内精品久久久久影院薰衣草| 午夜av电影| 亚洲欧洲www| 亚洲一区二区三区毛片| avtt香蕉久久| 99这里有精品视频| 人人爽人人爽人人片av| 国产在线精品播放| 日韩乱码在线观看| a√资源在线| 自拍偷拍亚洲图片| 亚洲激情第一区| 久久久999视频| 欧美日本一道本| 99久久婷婷国产综合精品首页| 粉嫩一区二区三区| 成人精品一区二区三区电影黑人| 欧美高清视频看片在线观看| 成人免费毛片日本片视频| 91在线视频观看免费| 日韩欧美一区二区三区久久婷婷| 国产一卡二卡三卡四卡| 欧美精品日韩三级| 国产精品欧美一区喷水| 国产精品毛片一区二区| 色先锋av资源中文字幕| 成人动漫视频在线观看免费| 青青草国产成人久久91网| 免费人成又黄又爽又色| 国产欧美日本一区视频| 亚洲人成精品久久久久| 青草网在线观看| 一道本在线观看视频| 日韩在线视频免费观看高清中文| 宇都宫紫苑在线播放| 99re成人在线| 超碰97在线资源| 好久没做在线观看| 亚洲电影一级黄| 992kp快乐看片永久免费网址| 国产精品黄页免费高清在线观看| 亚洲精品一区二区三区蜜桃下载| 久久视频精品在线| 中文字幕人妻精品一区| 国产视频一二三区| 亚欧色一区w666天堂| 少妇丰满尤物大尺度写真| 男人日女人bb视频| 欧洲成人免费视频| 国产夫妻在线| 国产精品福利一区二区三区| 国产麻豆永久视频| 日韩av网站在线观看| 亚洲欧美日韩动漫| 日本午夜精品一区二区三区| 久久久蜜桃一区二区人| www.97| 欧美一区二区三区成人| 又大又硬又爽免费视频| 国产精品av电影| 成人精品gif动图一区| 欧美精品一本久久男人的天堂| 福利写真视频网站在线| 国产高清不卡视频| 国产精品人人做人人爽人人添| 日本美女黄色一级片| 一区二区在线免费看| 曰本一区二区三区视频| 新91视频在线观看| 亚洲一区二区四区| 亚洲欧美综合久久久| 中文字幕乱码人妻综合二区三区| 欧美大片免费观看| 永久久久久久久| 日本亚洲欧美天堂免费| av中文在线资源库| 亚洲美女免费视频| 亚洲国产图片| 中文字幕欧美日韩精品| 热久久精品国产| 亚洲美女免费视频| 国产aⅴ精品一区二区四区| 亚洲制服一区| 国精品产品一区| 性欧美性free| 菠萝蜜视频网址| 免费理论片在线观看播放老| 国产一区二区美女视频| 在线播放免费视频| 懂色av噜噜一区二区三区av| 色18美女社区| 一本一道无码中文字幕精品热| 国产黄页在线观看| 日韩在线观看免| 五月开心婷婷久久| 久草在线视频网站| 欧美一区二区三区激情视频| 日韩在线观看不卡| 男男受被啪到高潮自述| 欧美激情一区二区三区成人| 成人三级网址| 国产高清免费在线播放| 国产偷人爽久久久久久老妇app| 四虎久久免费| 国产精品成久久久久三级| 中文字幕制服丝袜成人av| 亚洲国产精品久久久久久6q| av免费播放网站| 国产ts在线观看| 一区二区三区 在线观看视频| 日韩免费电影一区| 亚洲美女色禁图| 亚洲欧美影院| 黄视频网站免费看| 国产一区二区精品久久99| 亚洲高清影视| 亚洲人成网7777777国产| 性感美女激情视频在线观看| 国产精品观看| 青青青草视频在线| 欧美极品欧美精品欧美视频| 一区二区国产欧美| 亚洲人成电影网| 国产欧美日韩免费观看| 九义人在线观看完整免费版电视剧| 中文字幕观看视频| 免费在线观看你懂的| 能在线观看av网站| 国产高清中文字幕| 99精品在线观看视频| 欧美伦理一区二区| 国产日韩精品在线播放| 亚洲综合中文网| 欧美老熟妇喷水| 精品福利免费观看| 国产精品成人品| 污视频在线看| 成人免费观看www在线| 51精品免费网站| 高清国产福利在线观看| 性xxxx搡xxxxx搡欧美| 亚洲男女网站| 成人激情av在线| 大胸美女被爆操| 久久免费视频2| 激情深爱综合网| 国产美女免费视频| 娇小的粉嫩xxx极品| 中文字幕视频二区| 国产视频一二| 奇米一区二区三区| 亚洲电影一区二区三区| 91传媒在线免费观看| 精品久久久久久久久久久国产字幕| 黄色一级大片在线免费看国产一| 精品国产亚洲一区二区在线观看| 亚洲欧美日韩网| 高清无码视频直接看| 五十路中文字幕| 电影在线观看一区| 国产三区在线视频| 香蕉在线观看视频| 尤物视频在线免费观看| 久久久亚洲国产美女国产盗摄| 无码av中文一区二区三区桃花岛| 久久久久国产精品区片区无码| 97夜夜澡人人双人人人喊| 91成人在线观看国产| 操人在线观看|