原因就不說了,網上的自動化測試Docker教程太不靠譜,還是學學官網吧。
目的:
在現在各種虛擬化的大條件下,還在建立N個節點機器或節點機器搞N個並發,是不是太不方便了。
如果一個機器搞N個並發,在自動化測試中,selenium 的chrome會搶鼠標。
那我們下面就玩玩Docker。
一、Jenkins 裝Docker插件
在Jenkins --> 系統管理-->插件管理頁面中,看下圖
勾選Docker plugin插件,然后再在線安裝即可
二、找一台服務器裝Docker
看你的需求,如果要並發N個數,建議找台配置相對高的服務器
安裝Docker,具體不說了,網上也很多方法,這里我用的是Centos,只要下面幾個命令就可以
yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum makecache fast yum -y install docker-ce systemctl start docker
裝完后,使用docker images確認安裝成功
下面這步比較關鍵了,因為docker默認是不允許外面連接的,所以要修改配置放開
修改這個文件 /usr/lib/systemd/system/docker.service中的
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock 改成下面這個 ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H fd:// --containerd=/run/containerd/containerd.sock
然后 systemctl restart docker
三、找一個jenkins slave鏡像
通過docker search slave 找到需要的鏡像,然后git pull,例如:
docker search slave
docker pull jenkins/slave
四、對接jenkins
管理Jenkins --系統管理 接至最后,點擊Add a cloud
配置如下
再次添加節點模板信息,如下
完成后,我們通過任務來嘗試下是否成功,創鍵一個新任務,需要注意的是:
完成后,構建會自動拉起Docker節點,任務結束后會釋放節點
0904----UpDate
如果有時候用JNLP提示404 NotFoud時,可能是安全問題,需要如下做:
jenkins ---系統管理---全局安全管理,將下面這個打開,默認是disable
后續會介紹怎么使用selenium 無界面模式進行自動化測試