这样用Docker 搭建 Jenkins 实现自动部署,你知道吗?
?一、為什么用jenkins
主要是我們現(xiàn)在的項(xiàng)目都是采用手動(dòng)部署的,每當(dāng)給項(xiàng)目中新增一個(gè)功能就必須執(zhí)行(打包--測試--上傳測試修復(fù)的包到指定服務(wù)器--部署上線),這個(gè)流程操作起來繁雜,不小心就可能導(dǎo)致部署失敗;急需找到一個(gè)方式來解決本來就機(jī)械化的工作,于是就選擇了Jenkins。它能夠?qū)崿F(xiàn)打包、測試、審驗(yàn)、部署一鍵操作,而已也支持很多插件兼容,操作起來簡單方便。
二、Jenkins到底是什么?
Jenkins是一款開源 CI&CD 軟件,用于自動(dòng)化各種任務(wù),包括構(gòu)建、測試和部署軟件。支持各種運(yùn)行方式,可通過系統(tǒng)包、Docker 或者通過一個(gè)獨(dú)立的 Java 程序。下面為項(xiàng)目持續(xù)集成和交互的流程圖
三、Docker安裝Jenkins
1.拉取jenkins鏡像
啟動(dòng)docker $ systemctl start docker 拉取鏡像 $ docker pull jenkins/jenkins 查看鏡像
2.創(chuàng)建Jenkins掛載目錄
稍后可以將docker內(nèi)的目錄掛載到此目錄上,方便操作容器內(nèi)文件夾而不需要進(jìn)入容器 $ mkdir -p /var/jenkins_home
3.為掛載目錄賦予權(quán)限
chmod 777 /var/jenkins_home4.運(yùn)行jenkins
啟動(dòng)一個(gè)docker容器,-d是后臺(tái)執(zhí)行 -p是本機(jī)49001映射容器中的8080端口,該端口是Jenkins默認(rèn)監(jiān)聽端口 -v表示將容器中的/var/jenkins_home掛載到本機(jī)的/var/jenkins_home目錄,前者為本機(jī)地址,后者為容器地址 --name表示讓其命名為myjenkins 最后jenkins/jenkins則是本次運(yùn)行使用的鏡像
可通過顯示容器命令查看運(yùn)行情況
至此jenkins安裝完成并運(yùn)行,可通過ip地址加上端口號(hào)49001訪問 界面如下
如無法打開,請(qǐng)檢查容器啟動(dòng)情況并通過查看錯(cuò)誤日志排查錯(cuò)誤情況 docker logs myjenkins 使用云服務(wù)器請(qǐng)檢查防火墻是否開放對(duì)應(yīng)端口
5.查看Jenkins密碼
6.配置jenkins插件
啟動(dòng)jenkins后,可選擇使用推薦插件或自定義插件。插件安裝失敗或速度過慢,可通過配置鏡像加速解決。
7.配置鏡像加速
至此,安裝配置完成
四、Jenkins結(jié)合Github拉取源碼
前置條件:
(1)jenkins已經(jīng)安裝完成,參考我的另一篇文章進(jìn)行安裝配置:jenkins安裝及配置
(2)Jenkins服務(wù)器已經(jīng)擁有一個(gè)公網(wǎng)IP地址,由于我是本地搭建的,所以我用NATPP實(shí)現(xiàn)內(nèi)網(wǎng)穿透。
(3)插件安裝:CloudBees Credentials 、GitHub API Plugin、SSH Credentials Plugin、Git client plugin、SCM API、Mailer Plugin 、Plain Credentials Plugin 、GIT plugin、GitHub Plugin
1、配置Personal Access Token
在對(duì)項(xiàng)目有寫權(quán)限的用戶上獲取token進(jìn)入github –> setting –> Developer settings –> ?Personal Access Token
2、新建項(xiàng)目
3、配置github源碼拉取
3.1 配置憑據(jù)
3.2 配置github服務(wù)
3.3 在剛剛創(chuàng)建的項(xiàng)目配置github
3.4 選擇項(xiàng)目“立即構(gòu)建”
五、基于Docker自動(dòng)構(gòu)建項(xiàng)目
1、安裝docker插件
安裝docker插件
2、配置Docker服務(wù)
2.1 開啟Docker服務(wù)的2376端口
2.1.1 編輯配置文件
2.1.2 配置2376的tcp端口
2.1.3 重啟和加載Docker服務(wù)
2.2 配置Docker服務(wù)
3、jenkins配置自動(dòng)部署項(xiàng)目
3.1 配置“構(gòu)建環(huán)境”--添加“build/publish docker image”
3.2 配置Docker服務(wù)打包鏡像
3.3 配置SSH插件
3.3.1 安裝SSH插件
3.3.2 配置SSH登錄
選擇上面高級(jí)勾選并設(shè)置密碼
3.3.3 使用配置的SSH插件
3.3.4 添加執(zhí)行shell腳本
3.4 保存后構(gòu)建項(xiàng)目
3.5 直接訪問項(xiàng)目即可實(shí)現(xiàn)自動(dòng)部署
查看223服務(wù)器上面的Docker運(yùn)行容器
訪問項(xiàng)目測試
總結(jié)
以上是生活随笔為你收集整理的这样用Docker 搭建 Jenkins 实现自动部署,你知道吗?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 从好买辞职后,为什么我会加入一家开源创业
- 下一篇: 聊一聊Jmeter的参数化