docker搭建Jenkins以及基本使用圖文教程
1. 搭建
查詢鏡像
docker search jenkins
下載鏡像
docker pull jenkins/jenkins
啟動(dòng)容器
#創(chuàng)建文件夾 mkdir -p /home/jenkins_home #權(quán)限 chmod 777 /home/jenkins_home #啟動(dòng)Jenkins docker run -d -uroot -p 9095:8080 -p 50000:50000 --name jenkins -v /home/jenkins_home:/var/jenkins_home -v /etc/localtime:/etc/localtime jenkins/jenkins
命令 描述 -d 后臺(tái)運(yùn)行容器,并返回容器ID -uroot 使用 root 身份進(jìn)入容器,推薦加上,避免容器內(nèi)執(zhí)行某些命令時(shí)報(bào)權(quán)限錯(cuò)誤 -p 9095:8080 將容器內(nèi)8080端口映射至宿主機(jī)9095端口,這個(gè)是訪問(wèn)jenkins的端口 -p 50000:50000 將容器內(nèi)50000端口映射至宿主機(jī)50000端口 –name jenkins 設(shè)置容器名稱為jenkins -v /home/jenkins_home:/var/jenkins_home :/var/jenkins_home目錄為容器jenkins工作目錄,我們將硬盤上的一個(gè)目錄掛載到這個(gè)位置,方便后續(xù)更新鏡像后繼續(xù)使用原來(lái)的工作目錄 -v /etc/localtime:/etc/localtime 讓容器使用和服務(wù)器同樣的時(shí)間設(shè)置 jenkins/jenkins 鏡像的名稱,這里也可以寫鏡像ID 查看容器日志,獲取初始密碼
docker logs jenkins
在瀏覽器中輸入:http://serverIp:port/訪問(wèn)jenkins,serverIp為docker宿主機(jī)的ip,port即為宿主機(jī)映射的端口。我的即為:http://127.0.0.1:9095/,輸入前一步獲取的密碼
安裝推薦的插件
推薦插件如下:
插件下載問(wèn)題
因?yàn)榫W(wǎng)絡(luò)原因,需要將插件源設(shè)置為國(guó)內(nèi)的,這樣才可以安裝插件。進(jìn)入宿主機(jī)目錄 /home/jenkins_home/,編輯文件 hudson.model.UpdateCenter.xml
cd /home/jenkins_home/ cat hudson.model.UpdateCenter.xml
將 url 內(nèi)容修改為 https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json(清華大學(xué)官方鏡像)
重啟容器
docker restart jenkins
創(chuàng)建管理員賬戶
配置實(shí)例
此處jenkins已經(jīng)搭建完成了,可以開(kāi)始使用了
目前我是Jenkins 2.424,裝上就是中文
2. 構(gòu)建項(xiàng)目
新建任務(wù)–>構(gòu)建一個(gè)自由風(fēng)格的軟件項(xiàng)目->點(diǎn)擊確定
選擇
執(zhí)行shell
hello world
echo 'hello world'
點(diǎn)擊【保存】后,進(jìn)入項(xiàng)目詳情頁(yè),點(diǎn)擊【立即構(gòu)建】
點(diǎn)擊后產(chǎn)生構(gòu)建記錄
點(diǎn)擊構(gòu)建記錄查看
#1
構(gòu)建的控制臺(tái)輸出可以看到控制臺(tái)輸出了我們剛才echo的內(nèi)容。
控制臺(tái)查看
3. 參數(shù)化構(gòu)建
我們還是使用上一次創(chuàng)建的項(xiàng)目,在配置中勾選【This project is parameterized】
參數(shù)化構(gòu)建
這里可以添加布爾參數(shù)、選項(xiàng)參數(shù)、憑據(jù)參數(shù)、文件參數(shù)、多行文本參數(shù)、密碼參數(shù)、運(yùn)行參數(shù)、字符串參數(shù)。
模擬添加兩個(gè)字符串參數(shù)
并且在
Build Steps的
執(zhí)行shell
中使用我們定義的參數(shù),點(diǎn)擊【保存】echo 'hello world' echo ${parameter1} echo '--------' echo ${parameter2}
Build with Parameter
此處我們還可以修改參數(shù),如果不修改的話就是默認(rèn)值
構(gòu)建完成后控制臺(tái)查看
4. 部署 SpringBoot
4.1 插件下載
Jenkins 啟動(dòng)成功之后,接下來(lái)我們安裝三個(gè)必要的插件:
- Maven Integration:Maven 構(gòu)建工具
- Publish Over SSH:整個(gè)工具,將來(lái)把 Jenkins 打包好的 jar 上傳到應(yīng)用服務(wù)器上。
- Gitee:協(xié)助使用 Gitee 倉(cāng)庫(kù)。
下圖位置下載插件
4.2 準(zhǔn)備代碼
考慮到 GitHub 網(wǎng)絡(luò)有時(shí)候不穩(wěn)定,我這里使用了 Gitee,一個(gè)很簡(jiǎn)單的 Spring Boot 工程,里邊有一個(gè) hello 接口
我的代碼倉(cāng)庫(kù)地址:https://gitee.com/zhourui815/jenkins_demo
4.3 準(zhǔn)備服務(wù)器
有服務(wù)器的用服務(wù)器,也可以用虛擬機(jī),或者windows的wsl(windows子系統(tǒng)),我使用的是windows子系統(tǒng),只要你的jenkins服務(wù)器能夠ping通你的服務(wù)器.并且需要開(kāi)啟ssh服務(wù)
4.4. 配置Java部署環(huán)境
全局工具配置
配置JDK
首先我們來(lái)配置 JDK,Jenkins 中默認(rèn)安裝了 JDK,我們只需要將其配置配出出來(lái)即可:
配置maven
可以勾選自動(dòng)安裝,不需要我們手動(dòng)下載安裝
配置git
配置 Git,由于 Jenkins 容器中已經(jīng)存在 git 了,所以這里不需要額外安裝 git,默認(rèn)即可。
配置完成后點(diǎn)擊【保存】進(jìn)行保存。
4.5 遠(yuǎn)程的憑證配置
4.5.1 應(yīng)用服務(wù)器信息172.22.15.123
應(yīng)用服務(wù)器,就是將來(lái) Jenkins 將代碼構(gòu)建成 jar 包后,要上傳的服務(wù)器的信息(地址、用戶名以及密碼)。
配置步驟如下,首先找到配置的位置:
系統(tǒng)配置
配置服務(wù)器ssh連接
配置后一定要在服務(wù)器開(kāi)啟ssh服務(wù)(不然jenkins通過(guò)ssh連接不上服務(wù)器),還連接不上就看看防火墻是否攔截了22端口,或者關(guān)閉防火墻
4.5.2 配置Gitee 的信息及憑據(jù)
還是在系統(tǒng)配置,配置gitee信息
配置Gitee憑據(jù) 添加按鈕
令牌生成地址:https://gitee.com/profile/personal_access_tokens
4.5.2 構(gòu)建maven項(xiàng)目
創(chuàng)建項(xiàng)目
首先選擇 Git,填入 Gitee 上的倉(cāng)庫(kù)地址
這里有一個(gè)需要注意的地方,就是默認(rèn)的分支名稱,GitHub 上現(xiàn)在默認(rèn)的主分支名稱是 main,Gitee 似乎還是 master,這個(gè)無(wú)所謂了,但是小伙伴們注意圖片下面的分支,按你實(shí)際的情況填寫。
配置憑證 憑證就寫 Gitee 的用戶名/密碼。
日志打印時(shí)間戳
接下來(lái)輸入項(xiàng)目構(gòu)建命令,將來(lái) Jenkins 從 Gitee 上拉取代碼下來(lái)之后,就執(zhí)行該命令對(duì)項(xiàng)目進(jìn)行打包
配置上傳構(gòu)建好的文件,并執(zhí)行啟動(dòng)命令
SSH Publishers詳細(xì)信息
編寫部署腳本deploy.sh放在/root/data/下
export JAVA_HOME=/opt/java export PATH=$JAVA_HOME/bin:$PATH JAR_PATH=/root/data JARFILE=jenkins_demo-0.0.1-SNAPSHOT.jar ps -ef | grep $JARFILE | grep -v grep | awk '{print $2}' | xargs kill -9 java -jar $JAR_PATH/$JARFILE > out.log & if [ $? = 0 ];then sleep 30 tail -n 50 out.log fi
另外,可以開(kāi)啟 SSH 操作日志,開(kāi)啟日志之后,就可以看到 Jenkins 中操作應(yīng)用服務(wù)器其的過(guò)程了,特別是大家第一次配置的時(shí)候,容易出錯(cuò),配置了日志,將來(lái)出錯(cuò)就知道什么原因?qū)е碌腻e(cuò)誤了。
構(gòu)建成功(如果構(gòu)建不成功可以根據(jù)控制臺(tái)日志查看問(wèn)題)
這里的會(huì)出現(xiàn)小問(wèn)題,我們的springboot項(xiàng)目啟動(dòng)后就會(huì)一直阻塞在這里,導(dǎo)致jenkins的ssh部署超時(shí),但是實(shí)際上部署是成功的
只需要修改一下部署腳本(/root/data/deploy.sh),讓springboot后臺(tái)啟動(dòng)
訪問(wèn)測(cè)試 http://172.22.15.123:8080/test/t1
5. 部署Vue項(xiàng)目
5.1 安裝Node.js插件并重啟
5.2 全局工具配置配置nodejs
5.3 構(gòu)建node項(xiàng)目
構(gòu)建一個(gè)自由風(fēng)格的項(xiàng)目
此時(shí)就可以選擇node部署
后續(xù)配置參照springboot配置,將vue編譯后的文件上傳到對(duì)于服務(wù)器的nginx對(duì)于目錄中解壓即可,腳本比較簡(jiǎn)單可以自行查找資料
總結(jié)
到此這篇關(guān)于docker搭建Jenkins以及基本使用的文章就介紹到這了,更多相關(guān)docker搭建Jenkins及使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解docker 容器不自動(dòng)退出結(jié)束運(yùn)行的方法
本文主要簡(jiǎn)單介紹 docker 容器與前置進(jìn)程的關(guān)系,以及如何編寫 Dockerfile/docker-compose.yml 優(yōu)雅的讓容器可以常駐運(yùn)行。具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01centos修改docker網(wǎng)絡(luò)配置方法分享
本文給大家分享的是centos修改docker網(wǎng)絡(luò)配置的方法,非常的實(shí)用,有需要的小伙伴可以參考下2017-03-03docker啟動(dòng)時(shí)環(huán)境變量不生效的解決方法
因項(xiàng)目需要多處部署,所以打包成docker鏡像以便于部署,本文主要介紹了docker啟動(dòng)時(shí)環(huán)境變量不生效的解決方法,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03三款Docker圖形化工具優(yōu)缺點(diǎn)對(duì)比
大家好,本篇文章主要講的是三款Docker圖形化工具優(yōu)缺點(diǎn)對(duì)比,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下2022-01-01創(chuàng)建的docker容器時(shí)間顯示錯(cuò)誤/date錯(cuò)誤/時(shí)區(qū)錯(cuò)誤
這篇文章主要介紹了創(chuàng)建的docker容器時(shí)間顯示錯(cuò)誤/date錯(cuò)誤/時(shí)區(qū)錯(cuò)誤的處理方法,一起看看吧2017-06-06docker?搭建?ElasticSearch過(guò)程解析
這篇文章主要介紹了docker搭建ElasticSearch的過(guò)程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,,需要的朋友可以參考下2023-08-08使用Docker部署Spring Boot項(xiàng)目的實(shí)現(xiàn)步驟
本文主要介紹了使用Docker部署Spring Boot項(xiàng)目的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12