docker搭建Jenkins以及基本使用圖文教程
1. 搭建
查詢鏡像
docker search jenkins

下載鏡像
docker pull jenkins/jenkins

啟動容器
#創(chuàng)建文件夾 mkdir -p /home/jenkins_home #權(quán)限 chmod 777 /home/jenkins_home #啟動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 后臺運(yùn)行容器,并返回容器ID -uroot 使用 root 身份進(jìn)入容器,推薦加上,避免容器內(nèi)執(zhí)行某些命令時報權(quán)限錯誤 -p 9095:8080 將容器內(nèi)8080端口映射至宿主機(jī)9095端口,這個是訪問jenkins的端口 -p 50000:50000 將容器內(nèi)50000端口映射至宿主機(jī)50000端口 –name jenkins 設(shè)置容器名稱為jenkins -v /home/jenkins_home:/var/jenkins_home :/var/jenkins_home目錄為容器jenkins工作目錄,我們將硬盤上的一個目錄掛載到這個位置,方便后續(xù)更新鏡像后繼續(xù)使用原來的工作目錄 -v /etc/localtime:/etc/localtime 讓容器使用和服務(wù)器同樣的時間設(shè)置 jenkins/jenkins 鏡像的名稱,這里也可以寫鏡像ID 查看容器日志,獲取初始密碼
docker logs jenkins

在瀏覽器中輸入:http://serverIp:port/訪問jenkins,serverIp為docker宿主機(jī)的ip,port即為宿主機(jī)映射的端口。我的即為:http://127.0.0.1:9095/,輸入前一步獲取的密碼

安裝推薦的插件

推薦插件如下:

插件下載問題
因?yàn)榫W(wǎng)絡(luò)原因,需要將插件源設(shè)置為國內(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)搭建完成了,可以開始使用了
目前我是Jenkins 2.424,裝上就是中文

2. 構(gòu)建項(xiàng)目
新建任務(wù)–>構(gòu)建一個自由風(fēng)格的軟件項(xiàng)目->點(diǎn)擊確定

選擇
執(zhí)行shell
hello world
echo 'hello world'

點(diǎn)擊【保存】后,進(jìn)入項(xiàng)目詳情頁,點(diǎn)擊【立即構(gòu)建】

點(diǎn)擊后產(chǎn)生構(gòu)建記錄

點(diǎn)擊構(gòu)建記錄查看
#1構(gòu)建的控制臺輸出可以看到控制臺輸出了我們剛才echo的內(nè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ù)。

模擬添加兩個字符串參數(shù)

并且在
Build Steps的執(zhí)行shell中使用我們定義的參數(shù),點(diǎn)擊【保存】echo 'hello world' echo ${parameter1} echo '--------' echo ${parameter2}
Build with Parameter
此處我們還可以修改參數(shù),如果不修改的話就是默認(rèn)值

構(gòu)建完成后控制臺查看

4. 部署 SpringBoot
4.1 插件下載
Jenkins 啟動成功之后,接下來我們安裝三個必要的插件:
- Maven Integration:Maven 構(gòu)建工具
- Publish Over SSH:整個工具,將來把 Jenkins 打包好的 jar 上傳到應(yīng)用服務(wù)器上。
- Gitee:協(xié)助使用 Gitee 倉庫。
下圖位置下載插件

4.2 準(zhǔn)備代碼
考慮到 GitHub 網(wǎng)絡(luò)有時候不穩(wěn)定,我這里使用了 Gitee,一個很簡單的 Spring Boot 工程,里邊有一個 hello 接口
我的代碼倉庫地址: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ù)器.并且需要開啟ssh服務(wù)
4.4. 配置Java部署環(huán)境
全局工具配置

配置JDK
首先我們來配置 JDK,Jenkins 中默認(rèn)安裝了 JDK,我們只需要將其配置配出出來即可:

配置maven
可以勾選自動安裝,不需要我們手動下載安裝

配置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ù)器,就是將來 Jenkins 將代碼構(gòu)建成 jar 包后,要上傳的服務(wù)器的信息(地址、用戶名以及密碼)。
配置步驟如下,首先找到配置的位置:
系統(tǒng)配置

配置服務(wù)器ssh連接
配置后一定要在服務(wù)器開啟ssh服務(wù)(不然jenkins通過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 上的倉庫地址
這里有一個需要注意的地方,就是默認(rèn)的分支名稱,GitHub 上現(xiàn)在默認(rèn)的主分支名稱是 main,Gitee 似乎還是 master,這個無所謂了,但是小伙伴們注意圖片下面的分支,按你實(shí)際的情況填寫。

配置憑證 憑證就寫 Gitee 的用戶名/密碼。

日志打印時間戳

接下來輸入項(xiàng)目構(gòu)建命令,將來 Jenkins 從 Gitee 上拉取代碼下來之后,就執(zhí)行該命令對項(xiàng)目進(jìn)行打包

配置上傳構(gòu)建好的文件,并執(zhí)行啟動命令

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另外,可以開啟 SSH 操作日志,開啟日志之后,就可以看到 Jenkins 中操作應(yīng)用服務(wù)器其的過程了,特別是大家第一次配置的時候,容易出錯,配置了日志,將來出錯就知道什么原因?qū)е碌腻e誤了。

構(gòu)建成功(如果構(gòu)建不成功可以根據(jù)控制臺日志查看問題)
這里的會出現(xiàn)小問題,我們的springboot項(xiàng)目啟動后就會一直阻塞在這里,導(dǎo)致jenkins的ssh部署超時,但是實(shí)際上部署是成功的

只需要修改一下部署腳本(/root/data/deploy.sh),讓springboot后臺啟動

訪問測試 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)建一個自由風(fēng)格的項(xiàng)目

此時就可以選擇node部署

后續(xù)配置參照springboot配置,將vue編譯后的文件上傳到對于服務(wù)器的nginx對于目錄中解壓即可,腳本比較簡單可以自行查找資料
總結(jié)
到此這篇關(guān)于docker搭建Jenkins以及基本使用的文章就介紹到這了,更多相關(guān)docker搭建Jenkins及使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用Docker compose編排Laravel應(yīng)用的方法
本篇文章主要介紹了使用Docker compose編排Laravel應(yīng)用的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-07-07
Docker環(huán)境運(yùn)行Vue項(xiàng)目全過程
這篇文章主要介紹了Docker環(huán)境運(yùn)行Vue項(xiàng)目全過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-06-06
在docker創(chuàng)建的mysql容器中如何執(zhí)行mysql腳本
在Docker容器中執(zhí)行MySQL腳本的步驟包括進(jìn)入容器、連接MySQL服務(wù)并執(zhí)行腳本,如果腳本在主機(jī)上,可以直接通過命令執(zhí)行,無需進(jìn)入容器2024-11-11
在IntelliJ IDEA中使用Docker的開發(fā)指南
這篇文章主要給大家介紹了在IntelliJ IDEA中使用Docker開發(fā)指南,文中通過圖文介紹的非常詳細(xì),對我們的使用Docker有一定的幫助,需要的朋友可以參考下2023-09-09
Docker Compose 部署 MySQL 中文亂碼避坑指南
本文主要介紹了Docker Compose 部署 MySQL 中文亂碼避坑指南,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2026-05-05
docker容器數(shù)據(jù)卷之具名掛載和匿名掛載問題
容器數(shù)據(jù)卷就是目錄的掛載,將我們的容器的目錄掛載到宿主機(jī)上,從而實(shí)現(xiàn)打通宿主機(jī)和容器之間的文件共享功能,這篇文章主要介紹了docker容器數(shù)據(jù)卷 - 具名掛載和匿名掛載問題,需要的朋友可以參考下2021-11-11

