jenkins 主從模式想必大家都不陌生咏连,大家在學習過程中為了學習方便都在自己本地搭建了 jenkins 環(huán)境,然后通過 javaweb 方式實現(xiàn)鲁森,對于 docker 下實現(xiàn)主從模式大家好像興趣挺大祟滴。今天就通過這篇文章給大家講講怎么玩,希望對大家有幫助刀森。
一踱启、環(huán)境準備
準備一臺 Linux 服務器(云服務器、自建 Linux 服務器都可以)
在 Linux 服務器上安裝 docker
拉個 jenkins 鏡像下來研底,再啟動一個 jenkins 容器
docker 中把這個鏡像 jenkins/ssh-slave 拉下來(jenkins 提供的專門用來做主從的鏡像)
OK 準備工作就做完了
二埠偿、準備開工
第一步:docker 開啟遠程訪問,需要開啟 2375 端口榜晦,這個端口慎重開啟(我用的是 centos)
打開 docker.service 文件
VIM /usr/lib/systemd/system/docker.service
在 docker.service 文件的[Service]下添加如下內(nèi)容
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
重新啟動 docker 服務冠蒋,讓 docker 重新讀取配置文件
systemctl daemon-reload
systemctl restart docker
驗證,查看 docker 進程乾胶,如果 docker 守護進程在已經(jīng)監(jiān)聽 2375 的 tcp 端口抖剿,就算成功開啟了 2375 端口
進一步驗證,通過其他機子訪問 docker 宿主機
sudo docker -H tcp://139.129.130.123:2375 images
上面這個命令相當于直接在 docker 宿主機上執(zhí)行 docker images 命令识窿,能正確返回就表示沒問題
第二步:下載官網(wǎng)鏡像(順便再提一下斩郎,不要忘記了)
docker pull jenkins/ssh-slave
第三步:以 jenkins/ssh-slave 為基礎打一個有 python3 環(huán)境的新鏡像
創(chuàng)建一個 dockerfile 目錄
將項目執(zhí)行依賴的 python 包文件放到 dockerfile 目錄下(怎么生成依賴文件不寫了,默認你們是高手都會)
requests==2.24.0
創(chuàng)建一個名為 sources.list 的文件(名字不能改必須是這個名字)喻频,加入如下內(nèi)容
在 jenkins/ssh-slave 鏡像/etc/apt/目錄下
deb?http://mirrors.163.com/debian/?buster main non-free contrib
deb?http://mirrors.163.com/debian/?buster-updates main non-free contrib
deb?http://mirrors.163.com/debian/?buster-backports main non-free contrib
deb-src?http://mirrors.163.com/debian/?buster main non-free contrib
deb-src?http://mirrors.163.com/debian/?buster-updates main non-free contrib
deb-src?http://mirrors.163.com/debian/?buster-backports main non-free contrib
deb?http://mirrors.163.com/debian-security/?buster/updates main non-free contrib
deb-src?http://mirrors.163.com/debian-security/?buster/updates main non-free contrib
sources.list 作用說明:官方提供的 jenkins/ssh-slave 并沒有 python缩宜,需要安裝 python 就要去更新他的安裝包,此時如果使用他默認的鏡像源會非常慢甥温,因此我們換一個更快的源锻煌,將它原來的文件覆蓋掉就行了,這里要根據(jù)自己的版本號進行修改姻蚓,我的是 buster 版本宋梧,當然你下載后也應該是和我的一樣。
寫 Dockerfile
FROM jenkins/ssh-slave:latest
執(zhí)行鏡像構建命令
docker build -t jenkins/ssh-slave:v2.0 .
第四步:配置 jenkins 從節(jié)點
進到節(jié)點配置頁面
manage jenkins---> Slave Node(節(jié)點管理)--->ConfigureClouds
你將看到如下頁面
點 Add a new cloud 下拉選擇 docker狰挡,點完來到如下頁面
點開 Docker Cloud details 進行配置捂龄,點開后頁面如下
點開 Docker Agent templates释涛,你將看到如下頁面
點開下圖的高級選項
高級選項具體配置如下圖
配置完成后記得保存,最好是邊配置邊保存跺讯,養(yǎng)成好習慣枢贿。
第五步:將 docker slave 綁定到你的 jenkins 任務
新建任務殉农,選擇自由風格項目
限制項目運行節(jié)點刀脏,選擇新建的節(jié)點(Labels)
配置 Git
配置 shell 命令
配置測試報告
第六步:構建你的項目
開始構建后在你的構建隊列那會看到如下圖所示
2. 構建完成之后,點你的項目超凳,來到這里會有構建記錄愈污,點進去可以看構建日志
3. 查看測試報告
4. 測試報告如下