2024最新 Jenkins + Docker 實戰教程(四) - 編寫自己的Springboot項目實現自動化部署

在這里插入圖片描述

😄 19年之后由于某些原因斷更了三年,23年重新揚帆起航,推出更多優質博文,希望大家多多支持~
🌷 古之立大事者,不惟有超世之才,亦必有堅忍不拔之志
🎐 個人CSND主頁——Micro麥可樂的博客
🐥《Docker實操教程》專欄以最新的Centos版本為基礎進行Docker實操教程,入門到實戰
🌺《RabbitMQ》本專欄主要介紹使用JAVA開發RabbitMQ的系列教程,從基礎知識到項目實戰
🌸《設計模式》專欄以實際的生活場景為案例進行講解,讓大家對設計模式有一個更清晰的理解
💕《Jenkins實戰》專欄主要介紹Jenkins+Docker+Git+Maven的實戰教程,讓你快速掌握項目CI/CD,是2024年最新的實戰教程
如果文章能夠給大家帶來一定的幫助!歡迎關注、評論互動~

Jenkins + Docker + Git + Maven 實戰教程(四) - 編寫自己的Springboot項目實現自動化部署

  • 前言
  • 構建前準備
  • 開始配置Jenkins
  • 構建測試
  • 結語

前言

上一章節中雖然我們實現了自動化的部署,但是官方的DEMO中并沒有Dockerfile文件,我們還是需要手動構建,本章節我們自己編寫一個簡單的SpringBoot項目實現自動化部署,從代碼編寫到上傳Gitee再到Jenkins自動化部署。

整體流程如下:

在這里插入圖片描述

構建前準備

在開始Jenkins自動化部署前,我們需要執行如下操作

1、注冊Gitee賬號
2、創建Git倉庫
3、IDEA安裝Gitee插件
4、Gitee插件配置賬戶信息
5、IDEA創建SpringBoot項目
6、SpringBoot項目編寫Dockerfile文件
7、get push項目到Gitee

注冊Gitee賬號以及創建倉庫這里我們就忽略了

博主以Mac為例,找到 IntelliJ IDEA - Preferences - Plugins 搜索gitee安裝插件
在這里插入圖片描述
Gitee插件配置賬戶信息,可以選擇授權登陸以及賬號密碼登陸等,大家根據情況自行選擇
在這里插入圖片描述
創建一個簡單的SpringBoot項目
在這里插入圖片描述
項目根目錄創建Dockerfile文件

FROM openjdk:11
# 設置工作目錄
WORKDIR /app
# 將宿主機的目錄掛載到容器的/app目錄
VOLUME /app
# 復制.jar文件到工作目錄
COPY jenkins-demo-project-0.0.1-SNAPSHOT.jar /app/jenkins-demo.jar
# 設置容器啟動時執行的命令
CMD ["java", "-jar", "jenkins-demo.jar" ,"--server.port=9090"]

調整pom.xml設置maven將Dockerfile一并打包到target目錄下
在這里插入圖片描述
最后通過IDEA提交代碼到Gitee倉庫
由于博主的倉庫是公開的,小伙伴們也可以直接使用博主的demo 【倉庫地址】

開始配置Jenkins

找到左側菜單 - 新建任務 - jenkins-demo
在這里插入圖片描述
創建完成后,點擊對應任務進入
在這里插入圖片描述
在左側找到配置
在這里插入圖片描述
配置Git Repository URL
在這里插入圖片描述
找到 Post Steps 選項,,選擇僅構建成功執行
在這里插入圖片描述
設置我們的sell命令,需要判斷對應容器是否存在,存在則需要停止并刪除

# 默認操作在Jenkins工作目錄下的項目名目錄 即 workspace/jenkins-demo/target
cd target
#構建鏡像
docker build -t jenkins-demo .
# 使用docker ps和grep來檢查容器是否存在
if docker ps -a | grep "my-jenkins-demo" > /dev/null; thenecho "容器存在"#容器存在則停止并刪除容器docker stop my-jenkins-demodocker rm my-jenkins-demo
elseecho "容器不存在"
fi
#運行容器
docker run -d -p 9090:9090 --name my-jenkins-demo jenkins-demo

注意
上一章節我們已經處理了將宿主機的Docker引擎掛載到Jenkins容器上,即Jenkins容器調用宿主機的Docker
如果你沒有看過上一章教程 可以點擊 查看上一章內容

構建測試

配置完成,點擊左側立即構建,在下方的構建歷史點擊對應構建編號進入查看控制臺輸出
在這里插入圖片描述
輸出如下
在這里插入圖片描述
測試訪問
在這里插入圖片描述

結語

本章節從創建SprongBoot項目 -> 上傳gitee -> Jenkins自動化部署進行演示,小伙伴們可以跟著博主的教程操作自己走一遍,過程中如果出現其它問題,歡迎留言大家一起交流!

下一章節:2024最新 Jenkins + Docker 實戰教程(五) - 配置Webhooks實現自動構建及運行項目


在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/13636.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/13636.shtml
英文地址,請注明出處:http://en.pswp.cn/web/13636.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

VMware Num Lock 總自動切換的問題解決

VMware Num Lock 總自動切換的問題解決 0. 問題描述1. 解決方法 0. 問題描述 使用 VMware 虛擬機時,鼠標在 VMware 和主機之間切換時,總是顯示 “Num Lock 開” 和 “Num Lock 關” 的提示框。 1. 解決方法 在 VMware 系統中,按 fn num 統…

0407放大電路的頻率響應

放大電路的頻率響應 單時間常數RC電路的頻率響應中頻響應高頻響應低頻響應全頻域響應 放大電路頻率響應概述1. 直接耦合放大電路頻域響應阻容耦合放大電路頻域響應 4.7.1 單時間常數RC電路的頻率響應 4.7.2 放大電路頻率響應概述 4.7.3 單級共射極放大電路的頻率響應 4.7.4 單級…

TOSHIBA UTLH21 屬于Unifi NV系列

TOSHIBA UTLH21 是東芝推出的一款工業控制器,屬于Unifi NV系列。 這款控制器代表了東芝在工業自動化領域的一次重要進步,它在功能和性能上都超越了現有的V系列控制器。以下是UTLH21的一些主要特點: 高速邏輯與控制能力:UTLH21具…

Spring框架中獲取方法參數名稱:DefaultParameterNameDiscoverer

DefaultParameterNameDiscoverer 是Spring框架中用于獲取方法參數名稱的一個類。在Java中,方法的參數名稱通常在編譯時會丟失,因為Java字節碼并不強制要求保留這些信息。Spring提供了一種機制來恢復這些參數名稱,這就是通過DefaultParameterN…

IT行業的現狀與未來趨勢

這里寫目錄標題 一、引言二、IT行業的現狀三、IT行業面臨的挑戰四、IT行業的未來趨勢五、結論 一、引言 信息技術(IT)行業在過去幾十年中經歷了飛速發展,從早期的計算機硬件和軟件開發,到如今涵蓋云計算、人工智能、大數據、物聯…

深度學習之基于Django+Tensorflow卷積神經網絡實時口罩檢測系統

歡迎大家點贊、收藏、關注、評論啦 ,由于篇幅有限,只展示了部分核心代碼。 文章目錄 一項目簡介 二、功能三、系統四. 總結 一項目簡介 一、項目背景 隨著全球疫情的持續,佩戴口罩成為了公眾日常生活中不可或缺的一部分。特別是在人員密集的…

【python】python社交交友平臺系統設計與實現(源碼+數據庫)【獨一無二】

👉博__主👈:米碼收割機 👉技__能👈:C/Python語言 👉公眾號👈:測試開發自動化【獲取源碼商業合作】 👉榮__譽👈:阿里云博客專家博主、5…

BEVFuison測試全過程記錄

cuda版本10.1 pytorch: 根據cuda版本選擇pytorch版本: 1. 創建conda虛擬環境: conda create -y --name mmcv python3.8 conda activate mmcv2. 安裝依賴庫: pytorch: conda install pytorch1.7.1 torchvision0.8.2 torchaudi…

智能代理四大范式解析

Agent四大范式 在2024年紅杉資本人工智能峰會上,著名的人工智能專家吳恩達發表了一場備受關注的演講,深入探討了智能代理(agent)的四大范式。這四大范式代表了當前AI技術在不同應用領域中的核心方法和實踐,分別是反思(Reflection)、工具使用(Tool Use)、規劃(Planni…

特征融合篇 | YOLOv8改進之引入輕量級跨尺度特征融合模塊CCFM | 源自RT-DETR

前言:Hello大家好,我是小哥談。CCFM(Cross-Scale Feature Fusion Module)即為跨尺度特征融合模塊。這個模塊的作用是將不同尺度的特征通過融合操作整合起來,以增強模型對于尺度變化的適應性和對小尺度對象的檢測能力。CCFM可以有效地整合細節特征和上下文信息,從而提高模…

2024定制版搶單支付系統源碼(開代理自動搶單接單)

隨著網絡和移動支付技術的不斷進步,搶單支付系統已經成為商家和用戶進行交易的便利工具。2024定制版搶單支付系統源碼為開發者提供了一個可定制化的解決方案,具備開放代理和自動搶單接單功能,幫助用戶快速搭建搶單支付平臺。本文將為您介紹這…

專題匯編 | ChatGPT引領AIGC新浪潮(一)

ChatGPT的產生與迭代 2022年11月末,美國人工智能研究實驗室OpenAI推出ChatGPT。上線的ChatGPT只用了2個月,活躍用戶數就突破了1億,創造了應用增速最快的紀錄。 ChatGPT是什么 ChatGPT是一種人工智能技術驅動的自然語言處理(Natural Language Processing,NLP)工具,使用的…

20240520金融讀報:旅游強國金融數據要素升級融資性貿易房地產政策變化

1、房地產政策變化:1)刺激買方:降首付,公積金貸款利率下調0.25%,商貸貸款利率不設下限 2)托底賣方:“白名單”貸款項目,覆蓋項目建成交付的資金缺口 3)增加賣方&#xff…

RS8751XF功能和參數介紹及PDF資料

以下是關于RS8751XF的功能和參數的介紹: 功能描述: 高速、寬帶單通道運算放大器 軌到軌輸入和輸出,確保較大的動態范圍 極高的增益帶寬乘積(GBW):250 MHz,適合高頻應用 極高的壓擺率(SR&#xf…

MySQL的ODBC驅動下載、安裝以及配置數據源

下載地址:odbc官方下載地址 MySQL :: Download Connector/ODBC 下載安裝ODBC驅動 配置MySQL ODBC 數據源 進入控制面板->系統和安全->Windows工具 Data Source Name填寫需要生成的ODBC數據源的名稱。Description選填。如果使用遠程數據庫服務器&a…

鴻蒙應用開發系列 篇五:鴻蒙系統高級開發技術

文章目錄 系列文章Web組件通知窗口管理網頁圖形庫(WebGL)媒體安全訪問控制用戶認證其他網絡與連接電話服務數據管理文件管理后臺任務管理設備管理系列文章

mysql--數據庫表的創建及基礎命令

今日目標 表的創建 數據庫的數據類型 表的約束 表結構的修改和調整 數據庫的權限管理 單表的數據的CRUD sql的一些規范 SQL的分類 SQL腳本注意點 SQL的注釋 ISO提出SQL官方注釋: 1、多行注釋 /* */ 2、當行注釋 -- 注釋 注意,空格是必不可少的…

微信小程序抓取數據包(Proxifier聯動burpsuite)

1、打開bp,確保開啟127.0.0.1:8080監聽地址。 2、點擊setting--proxy,點擊impor CA certificate,生成bp的證書。 保存到桌面為1.cer,文件后綴為cer就OK了,前綴任意 3、安裝證書,雙擊打開剛剛生成…

BERT系列算法解讀

1.bert訓練的方法 為了訓練BERT模型,主要采用了兩種方法:掩碼語言模型(Masked Language Model, MLM)和下一個句子預測(Next Sentence Prediction, NSP)。 方法一:掩碼語言模型(Mask…

公共Mono模塊筆記

一、公共Mono的主要作用 讓不繼承MonoBehaviour的腳本也能 1.利用幀更新或定時更新處理邏輯 2.利用協同程序處理邏輯 3.可以統一執行管理幀更新或定時更新相關邏輯(不管你是否繼承MonoBehaviour) 二、基本原理 1.通過事件或委托 管理 相關更新函數(如AddUpdateLis…