0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Jenkins+Docker一鍵自動(dòng)化部署SpringBoot最簡(jiǎn)流程

jf_ro2CN3Fa ? 來(lái)源:CSDN ? 作者:CSDN ? 2022-11-23 10:16 ? 次閱讀


本文章實(shí)現(xiàn)最簡(jiǎn)單全面的Jenkins+docker+springboot 一鍵自動(dòng)部署項(xiàng)目,步驟齊全,少走坑路。

環(huán)境:centos7+git(gitee)

簡(jiǎn)述實(shí)現(xiàn)步驟:在docker安裝jenkins,配置jenkins基本信息,利用Dockerfile和shell腳本實(shí)現(xiàn)項(xiàng)目自動(dòng)拉取打包并運(yùn)行。

一、安裝docker

docker安裝社區(qū)版本CE

1.確保 yum 包更新到最新。

yumupdate

2.卸載舊版本(如果安裝過(guò)舊版本的話)

yumremovedockerdocker-commondocker-selinuxdocker-engine

3.安裝需要的軟件包

yuminstall-yyum-utilsdevice-mapper-persistent-datalvm2

4.設(shè)置yum源

yum-config-manager--add-repohttps://download.docker.com/linux/centos/docker-ce.repo

5.安裝docker

yuminstalldocker-ce#由于repo中默認(rèn)只開(kāi)啟stable倉(cāng)庫(kù),故這里安裝的是最新穩(wěn)定版17.12.0
yuminstall<自己的版本>#例如:sudo yum install docker-ce-17.12.0.ce

6.啟動(dòng)和開(kāi)機(jī)啟動(dòng)

systemctlstartdocker
systemctlenabledocker

7.驗(yàn)證安裝是否成功

dockerversion

基于 Spring Boot + MyBatis Plus + Vue & Element 實(shí)現(xiàn)的后臺(tái)管理系統(tǒng) + 用戶小程序,支持 RBAC 動(dòng)態(tài)權(quán)限、多租戶、數(shù)據(jù)權(quán)限、工作流、三方登錄、支付、短信、商城等功能

  • 項(xiàng)目地址:https://github.com/YunaiV/ruoyi-vue-pro
  • 視頻教程:https://doc.iocoder.cn/video/

二、安裝Jenkins

Jenkins中文官網(wǎng):

https://www.jenkins.io/zh/

1.安裝Jenkins

docker 安裝一切都是那么簡(jiǎn)單,注意檢查8080是否已經(jīng)占用!如果占用修改端口

dockerrun--namejenkins-uroot--rm-d-p8080:8080-p50000:50000-v/var/jenkins_home:/var/jenkins_home-v/var/run/docker.sock:/var/run/docker.sockjenkinsci/blueocean

如果沒(méi)改端口號(hào)的話

安裝完成后訪問(wèn)地址-> http://{部署Jenkins所在服務(wù)IP}:8080

此處會(huì)有幾分鐘的等待時(shí)間。

2.初始化Jenkins

2.1 解鎖Jenkins
  • 進(jìn)入Jenkins容器:docker exec -it {Jenkins容器名} bash
  • 例如 docker exec -it jenkins bash
  • 查看密碼:cat /var/lib/jenkins/secrets/initialAdminPassword
  • 復(fù)制密碼到輸入框里面
a8fe56fc-6ad3-11ed-8abf-dac502259ad0.png
2.2 安裝插件

選擇第一個(gè):安裝推薦的插件

a92070de-6ad3-11ed-8abf-dac502259ad0.png
2.3 創(chuàng)建管理員用戶

此賬戶一定要記住哦

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 實(shí)現(xiàn)的后臺(tái)管理系統(tǒng) + 用戶小程序,支持 RBAC 動(dòng)態(tài)權(quán)限、多租戶、數(shù)據(jù)權(quán)限、工作流、三方登錄、支付、短信、商城等功能

  • 項(xiàng)目地址:https://github.com/YunaiV/yudao-cloud
  • 視頻教程:https://doc.iocoder.cn/video/

三、系統(tǒng)配置

1. 安裝需要插件

進(jìn)入【首頁(yè)】–【系統(tǒng)管理】–【插件管理】–【可選插件】

搜索以下需要安裝的插件,點(diǎn)擊安裝即可。

a945ed14-6ad3-11ed-8abf-dac502259ad0.png
  • 安裝Maven Integration
  • 安裝Publish Over SSH(如果不需要遠(yuǎn)程推送,不用安裝)
  • 如果使用Gitee 碼云,安裝插件Gitee(Git自帶不用安裝)

2. 配置Maven

進(jìn)入【首頁(yè)】–【系統(tǒng)管理】–【全局配置】,拉到最下面maven–maven安裝

a968300e-6ad3-11ed-8abf-dac502259ad0.png

四、創(chuàng)建任務(wù)

1. 新建任務(wù)

點(diǎn)擊【新建任務(wù)】,輸入任務(wù)名稱,點(diǎn)擊構(gòu)建一個(gè)自由風(fēng)格的軟件項(xiàng)目

a98c114a-6ad3-11ed-8abf-dac502259ad0.png

2. 源碼管理

點(diǎn)擊【源碼管理】–【Git】,輸入倉(cāng)庫(kù)地址,添加憑證,選擇好憑證即可。

a9a10d2a-6ad3-11ed-8abf-dac502259ad0.pnga9bbd998-6ad3-11ed-8abf-dac502259ad0.png

3.構(gòu)建觸發(fā)器

點(diǎn)擊【構(gòu)建觸發(fā)器】–【構(gòu)建】–【增加構(gòu)建步驟】–【調(diào)用頂層Maven目標(biāo)】–【填寫(xiě)配置】–【保存】

a9d9f838-6ad3-11ed-8abf-dac502259ad0.png

此處命令只是install,看是否能生成jar包

cleaninstall-Dmaven.test.skip=true
aa0b2c46-6ad3-11ed-8abf-dac502259ad0.png

4. 保存

點(diǎn)擊【保存】按鈕即可

五、測(cè)試

該功能測(cè)試是否能正常打包

1. 構(gòu)建

點(diǎn)擊構(gòu)建按鈕

aa25c722-6ad3-11ed-8abf-dac502259ad0.png

2.查看日志

點(diǎn)擊正在構(gòu)建的任務(wù),或者點(diǎn)擊任務(wù)名稱,進(jìn)入詳情頁(yè)面,查看控制臺(tái)輸出,看是否能成功打成jar包。

該處日志第一次可能下載依賴jar包失敗,再次點(diǎn)擊構(gòu)建即可成功。

aa40db34-6ad3-11ed-8abf-dac502259ad0.pngaa6bce3e-6ad3-11ed-8abf-dac502259ad0.png

3. 查看項(xiàng)目位置

  1. cd /var/jenkins_home/workspace
  2. ll 即可查看是否存在

六、運(yùn)行項(xiàng)目

因?yàn)槲覀冺?xiàng)目和jenkins在同一臺(tái)服務(wù)器,所以我們用shell腳本運(yùn)行項(xiàng)目,原理既是通過(guò)dockerfile 打包鏡像,然后docker運(yùn)行即可。

1. Dockerfile

在springboot項(xiàng)目根目錄新建一個(gè)名為Dockerfile的文件,注意沒(méi)有后綴名,其內(nèi)容如下:(大致就是使用jdk8,把jar包添加到docker然后運(yùn)行prd配置文件。詳細(xì)可以查看其他教程)

FROMjdk:8
VOLUME/tmp
ADDtarget/zx-order-0.0.1-SNAPSHOT.jarapp.jar
EXPOSE8888
ENTRYPOINT["Bash","-DBash.security.egd=file:/dev/./urandom","-jar","/app.jar","--spring.profiles.active=prd"]

2. 修改jenkins任務(wù)配置

aa902f18-6ad3-11ed-8abf-dac502259ad0.png

配置如下:

aab102b0-6ad3-11ed-8abf-dac502259ad0.png
  • -t:指定新鏡像名
  • .:表示Dockfile在當(dāng)前路徑
cd/var/jenkins_home/workspace/zx-order-api
dockerstopzx-order||true
dockerrmzx-order||true
dockerrmizx-order||true
dockerbuild-tzx-order.
dockerrun-d-p8888:8888--namezx-orderzx-order:latest

備注:

  1. 我上圖用了docker logs -f 是為了方便看日志,真實(shí)不要用,因?yàn)闀?huì)一直等待日志,構(gòu)建任務(wù)會(huì)失敗
  2. || true 是如果命令執(zhí)行失敗也會(huì)繼續(xù)實(shí)行,為了防止第一次沒(méi)有該鏡像報(bào)錯(cuò)

3. 保存

點(diǎn)擊保存即可

4. 構(gòu)建

查看jenkins控制臺(tái)輸出,輸出如下,證明成功!

aad4ce3e-6ad3-11ed-8abf-dac502259ad0.png

5. 驗(yàn)證

  1. docker ps 查看是否有自己的容器
  2. docker logs 自己的容器名 查看日志是否正確
  3. 瀏覽器訪問(wèn)項(xiàng)目試一試


審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 自動(dòng)化
    +關(guān)注

    關(guān)注

    29

    文章

    5588

    瀏覽量

    79361
  • 腳本
    +關(guān)注

    關(guān)注

    1

    文章

    390

    瀏覽量

    14883
  • SpringBoot
    +關(guān)注

    關(guān)注

    0

    文章

    173

    瀏覽量

    183

原文標(biāo)題:Jenkins + Docker 一鍵自動(dòng)化部署SpringBoot 最簡(jiǎn)流程

文章出處:【微信號(hào):芋道源碼,微信公眾號(hào):芋道源碼】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    云服務(wù)器Flexus X實(shí)例,Docker集成搭建Jenkins CI/CD平臺(tái)

    Jenkins個(gè)開(kāi)源的自動(dòng)化服務(wù)器,用于持續(xù)集成(CI)和持續(xù)交付(CD)軟件項(xiàng)目。它允許開(kāi)發(fā)人員在軟件開(kāi)發(fā)過(guò)程中自動(dòng)化各種任務(wù),如構(gòu)建、測(cè)試和
    的頭像 發(fā)表于 12-29 15:43 ?119次閱讀
    云服務(wù)器Flexus X實(shí)例,<b class='flag-5'>Docker</b>集成搭建<b class='flag-5'>Jenkins</b> CI/CD平臺(tái)

    Flexus X 實(shí)例 Docker+Jenkins+gitee 實(shí)現(xiàn) CICD 自動(dòng)化部署 - 解放你的雙手~

    前言 828 B2B 企業(yè)節(jié)特惠來(lái)襲,F(xiàn)lexus X 實(shí)例引領(lǐng)自動(dòng)化部署新紀(jì)元!Docker 攜手 Jenkins 與 Gitee,共創(chuàng) CICD 無(wú)限可能!在快速迭代的數(shù)字時(shí)代,我
    的頭像 發(fā)表于 12-26 18:19 ?177次閱讀
    Flexus X 實(shí)例 <b class='flag-5'>Docker+Jenkins</b>+gitee 實(shí)現(xiàn) CICD <b class='flag-5'>自動(dòng)化</b><b class='flag-5'>部署</b> - 解放你的雙手~

    開(kāi)關(guān)柜一鍵順控在化工領(lǐng)域的應(yīng)用

    蜀瑞創(chuàng)新為大家分享:在化工生產(chǎn)線中,電氣控制系統(tǒng)是保障生產(chǎn)順利進(jìn)行的關(guān)鍵。一鍵順控技術(shù)可以應(yīng)用于生產(chǎn)線上的電氣控制,實(shí)現(xiàn)設(shè)備的自動(dòng)啟停、順序控制等功能,提高生產(chǎn)線的自動(dòng)化水平和生產(chǎn)效率。通過(guò)
    的頭像 發(fā)表于 11-29 10:50 ?149次閱讀

    在中壓開(kāi)關(guān)柜上使用微機(jī)五防鎖是否可以實(shí)現(xiàn)一鍵順控

    蜀瑞創(chuàng)新為大家科普:雖然微機(jī)五防鎖是實(shí)現(xiàn)“一鍵順控”的重要組成部分之,但它本身并不能單獨(dú)完成整個(gè)過(guò)程。需要結(jié)合其他自動(dòng)化控制技術(shù)和設(shè)備,以及合適的軟件平臺(tái)來(lái)實(shí)現(xiàn)真正的“一鍵順控”。
    的頭像 發(fā)表于 11-06 11:58 ?147次閱讀
    在中壓開(kāi)關(guān)柜上使用微機(jī)五防鎖是否可以實(shí)現(xiàn)<b class='flag-5'>一鍵</b>順控

    配電室開(kāi)關(guān)柜打造一鍵順控系統(tǒng)的必要性?

    蜀瑞創(chuàng)新為大家科普:配電室開(kāi)關(guān)柜實(shí)現(xiàn)“一鍵順控”系統(tǒng)對(duì)于提升電力系統(tǒng)的運(yùn)行效率、安全性以及自動(dòng)化水平具有重要意義。
    的頭像 發(fā)表于 09-14 10:39 ?214次閱讀
    配電室開(kāi)關(guān)柜打造<b class='flag-5'>一鍵</b>順控系統(tǒng)的必要性?

    開(kāi)關(guān)柜一鍵順控比傳統(tǒng)方式時(shí)間效率上提升多少

    蜀瑞創(chuàng)新為大家科普:開(kāi)關(guān)柜一鍵順控相比于傳統(tǒng)的操作方式,在時(shí)間效率上的提升是非常顯著的。傳統(tǒng)方式需要人工進(jìn)行復(fù)雜的操作,不僅耗時(shí)長(zhǎng),而且在緊急情況下可能無(wú)法滿足快速響應(yīng)的需求。而一鍵順控技術(shù)通過(guò)預(yù)設(shè)的操作邏輯和自動(dòng)化控制,簡(jiǎn)化了
    的頭像 發(fā)表于 08-22 10:00 ?256次閱讀
    開(kāi)關(guān)柜<b class='flag-5'>一鍵</b>順控比傳統(tǒng)方式時(shí)間效率上提升多少

    開(kāi)關(guān)柜一鍵順控為什么是未來(lái)趨勢(shì)

    自動(dòng)化與智能發(fā)展:隨著微處理器、通信技術(shù)和智能控制技術(shù)的不斷進(jìn)步,電力系統(tǒng)正朝著更加自動(dòng)化和智能的方向發(fā)展。一鍵順控技術(shù)正是這
    的頭像 發(fā)表于 08-02 10:21 ?237次閱讀

    變電站一鍵順控系統(tǒng)和開(kāi)關(guān)柜一鍵順控有區(qū)別嗎?

    變電站一鍵順控系統(tǒng)和開(kāi)關(guān)柜一鍵順控技術(shù)雖然都涉及到“一鍵順控”的概念,但它們?cè)趹?yīng)用范圍和具體實(shí)現(xiàn)上有所不同,因此變電站一鍵順控系統(tǒng)和開(kāi)關(guān)柜一鍵
    的頭像 發(fā)表于 07-31 13:34 ?590次閱讀
    變電站<b class='flag-5'>一鍵</b>順控系統(tǒng)和開(kāi)關(guān)柜<b class='flag-5'>一鍵</b>順控有區(qū)別嗎?

    開(kāi)關(guān)柜一鍵順控的技術(shù)難點(diǎn)和優(yōu)勢(shì)、發(fā)展趨勢(shì)?

    開(kāi)關(guān)柜一鍵順控技術(shù)的核心在于將復(fù)雜的人工操作流程轉(zhuǎn)化為自動(dòng)化、智能的控制流程,蜀瑞開(kāi)關(guān)柜一鍵
    的頭像 發(fā)表于 07-23 11:41 ?459次閱讀

    智慧礦山為什么要配電室智慧、智能開(kāi)關(guān)柜一鍵順控?

    蜀瑞智慧礦山中的配電室智慧、智能開(kāi)關(guān)柜的可視一鍵順控技術(shù),通過(guò)提升系統(tǒng)的自動(dòng)化水平、增強(qiáng)監(jiān)控與預(yù)警能力、簡(jiǎn)化操作流程,為礦山安全運(yùn)行提
    的頭像 發(fā)表于 07-04 14:51 ?637次閱讀
    智慧礦山為什么要配電室智慧<b class='flag-5'>化</b>、智能開(kāi)關(guān)柜<b class='flag-5'>一鍵</b>順控?

    寶塔面板Docker一鍵安裝:部署GPTAcademic,開(kāi)發(fā)私有GPT學(xué)術(shù)優(yōu)化工具

    人工智能的浪潮中,GPT模型因其強(qiáng)大的自然語(yǔ)言處理能力備受矚目。然而,為了更好地應(yīng)用于學(xué)術(shù)領(lǐng)域,許多人希望能部署自己私有的GPT學(xué)術(shù)優(yōu)化工具。本文將詳細(xì)介紹如何通過(guò)寶塔面板和Docker一鍵安裝
    的頭像 發(fā)表于 07-02 11:58 ?2633次閱讀
    寶塔面板<b class='flag-5'>Docker</b><b class='flag-5'>一鍵</b>安裝:<b class='flag-5'>部署</b>GPTAcademic,開(kāi)發(fā)私有GPT學(xué)術(shù)優(yōu)化工具

    機(jī)械自動(dòng)化自動(dòng)化種嗎

    引言 自動(dòng)化技術(shù)是指利用控制裝置對(duì)生產(chǎn)過(guò)程進(jìn)行控制,以實(shí)現(xiàn)生產(chǎn)過(guò)程的自動(dòng)化。機(jī)械自動(dòng)化自動(dòng)化技術(shù)的種,它主要涉及到使用機(jī)械設(shè)備和控制系統(tǒng)
    的頭像 發(fā)表于 07-01 09:32 ?1690次閱讀

    寶塔面板一鍵免費(fèi)部署LobeChat聊天機(jī)器人開(kāi)發(fā)自己私有的ChatGPT

    寶塔面板部署一鍵免費(fèi)部署LobeChat自己的私有聊天機(jī)器人 支持市場(chǎng)主流AId api調(diào)用; ?寶塔面板Docker 部署LobeChat
    的頭像 發(fā)表于 06-26 17:03 ?1232次閱讀
    寶塔面板<b class='flag-5'>一鍵</b>免費(fèi)<b class='flag-5'>部署</b>LobeChat聊天機(jī)器人開(kāi)發(fā)自己私有的ChatGPT

    簡(jiǎn)析智慧燈桿一鍵告警功能的實(shí)用場(chǎng)景

    智慧路燈桿是種兼具智能和多功能的新型物聯(lián)網(wǎng)基礎(chǔ)設(shè)施,通過(guò)搭載一鍵告警對(duì)講盒,能夠大大豐富安防及報(bào)警求助資源,對(duì)提升城市的安全性和管理效能具有重要的作用。本篇就結(jié)合城市中的不同場(chǎng)景,簡(jiǎn)
    的頭像 發(fā)表于 04-28 16:42 ?381次閱讀
    <b class='flag-5'>簡(jiǎn)</b>析智慧燈桿<b class='flag-5'>一鍵</b>告警功能的實(shí)用場(chǎng)景

    智慧桿一鍵報(bào)警連入網(wǎng)關(guān)后無(wú)法對(duì)講是什么原因?

    一鍵式對(duì)講報(bào)警盒是智慧路燈桿上常見(jiàn)的掛載外設(shè)之,能夠?yàn)楣舶踩峁┘磿r(shí)支持,增強(qiáng)城市管理的智能和應(yīng)急反應(yīng)能力。本篇就為大家簡(jiǎn)單介紹下在智慧路燈桿上
    的頭像 發(fā)表于 03-28 17:25 ?405次閱讀
    智慧桿<b class='flag-5'>一鍵</b>報(bào)警連入網(wǎng)關(guān)后無(wú)法對(duì)講是什么原因?