那曲檬骨新材料有限公司

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

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

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

Jenkins+Docker一鍵自動化部署SpringBoot應(yīng)用最精簡流程

jf_ro2CN3Fa ? 來源:CSDN ? 2023-11-06 16:27 ? 次閱讀


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

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

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

一、安裝docker

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

1.確保 yum 包更新到最新

yumupdate

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

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中默認只開啟stable倉庫,故這里安裝的是最新穩(wěn)定版17.12.0
yuminstall<自己的版本>#例如:sudo yum install docker-ce-17.12.0.ce

6.啟動和開機啟動

systemctlstartdocker
systemctlenabledocker

7.驗證安裝是否成功

dockerversion

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

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

二、安裝Jenkins

Jenkins中文官網(wǎng):

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

1.安裝Jenkins

docker 安裝一切都是那么簡單,注意檢查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

如果沒改端口號的話

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

此處會有幾分鐘的等待時間。

2.初始化Jenkins

2.1 解鎖Jenkins
  • 進入Jenkins容器:docker exec -it {Jenkins容器名} bash
  • 例如 docker exec -it jenkins bash
  • 查看密碼:cat /var/lib/jenkins/secrets/initialAdminPassword
  • 復(fù)制密碼到輸入框里面
cb974678-7c44-11ee-939d-92fbcf53809c.png
2.2 安裝插件

選擇第一個:安裝推薦的插件

cbb589bc-7c44-11ee-939d-92fbcf53809c.png
2.3 創(chuàng)建管理員用戶

此賬戶一定要記住哦

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

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

三、系統(tǒng)配置

1. 安裝需要插件

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

搜索以下需要安裝的插件,點擊安裝即可。

cbccbe20-7c44-11ee-939d-92fbcf53809c.png
  • 安裝Maven Integration
  • 安裝Publish Over SSH(如果不需要遠程推送,不用安裝)
  • 如果使用Gitee 碼云,安裝插件Gitee(Git自帶不用安裝)

2. 配置Maven

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

cbeef4d6-7c44-11ee-939d-92fbcf53809c.png

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

1. 新建任務(wù)

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

cc0f96a0-7c44-11ee-939d-92fbcf53809c.png

2. 源碼管理

點擊【源碼管理】–【Git】,輸入倉庫地址,添加憑證,選擇好憑證即可。

cc33293a-7c44-11ee-939d-92fbcf53809c.pngcc53d6c6-7c44-11ee-939d-92fbcf53809c.png

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

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

cc608d30-7c44-11ee-939d-92fbcf53809c.png

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

cleaninstall-Dmaven.test.skip=true
cc8a2d48-7c44-11ee-939d-92fbcf53809c.png

4. 保存

點擊【保存】按鈕即可

五、測試

該功能測試是否能正常打包

1. 構(gòu)建

點擊構(gòu)建按鈕

ccaff53c-7c44-11ee-939d-92fbcf53809c.png

2.查看日志

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

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

ccca39e2-7c44-11ee-939d-92fbcf53809c.pngccea557e-7c44-11ee-939d-92fbcf53809c.png

3. 查看項目位置

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

六、運行項目

因為我們項目和jenkins在同一臺服務(wù)器,所以我們用shell腳本運行項目,原理既是通過dockerfile 打包鏡像,然后docker運行即可。

1. Dockerfile

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

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ù)配置

ccff8106-7c44-11ee-939d-92fbcf53809c.png

配置如下:

cd2ef8f0-7c44-11ee-939d-92fbcf53809c.png
  • -t:指定新鏡像名
  • .:表示Dockfile在當前路徑
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 是為了方便看日志,真實不要用,因為會一直等待日志,構(gòu)建任務(wù)會失敗
  2. || true 是如果命令執(zhí)行失敗也會繼續(xù)實行,為了防止第一次沒有該鏡像報錯

3. 保存

點擊保存即可

4. 構(gòu)建

查看jenkins控制臺輸出,輸出如下,證明成功!

cd5049a6-7c44-11ee-939d-92fbcf53809c.png

5. 驗證

  1. docker ps 查看是否有自己的容器
  2. docker logs 自己的容器名 查看日志是否正確
  3. 瀏覽器訪問項目試一試


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

    關(guān)注

    29

    文章

    5622

    瀏覽量

    79659
  • 容器
    +關(guān)注

    關(guān)注

    0

    文章

    499

    瀏覽量

    22120
  • jenkins
    +關(guān)注

    關(guān)注

    0

    文章

    31

    瀏覽量

    5174

原文標題:Jenkins + Docker 一鍵自動化部署 SpringBoot 應(yīng)用最精簡流程

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

收藏 人收藏

    評論

    相關(guān)推薦

    如何在持續(xù)集成開發(fā)流程中使用JenkinsDocker

    Jenkins自動化我們開發(fā)的測試流程。 在您開始之前,我們假設(shè)您對Arm上的嵌入式軟件開發(fā)有基本的了解。DockerJenkins和A
    發(fā)表于 08-02 10:50

    Jenkins管理的持續(xù)集成境引入Docker來優(yōu)化資源配置

    Jenkins是被廣泛應(yīng)用的持續(xù)集成、自動化測試、持續(xù)部署的框架,甚至有些項目組順便將其用來做流程管理的工具。根據(jù)任務(wù)的多寡,Jenkins
    發(fā)表于 09-26 11:42 ?0次下載
    在<b class='flag-5'>Jenkins</b>管理的持續(xù)集成境引入<b class='flag-5'>Docker</b>來優(yōu)化資源配置

    jenkins自動化部署

    本文詳細介紹Jenkins的簡單使用—jenkins自動化部署
    的頭像 發(fā)表于 02-06 11:27 ?4737次閱讀
    <b class='flag-5'>jenkins</b><b class='flag-5'>自動化</b><b class='flag-5'>部署</b>

    docker compose一鍵打包部署項目的實踐

    【導(dǎo)讀】本文介紹了 docker compose 一鍵打包部署項目的實踐。
    的頭像 發(fā)表于 08-30 11:03 ?1621次閱讀

    Jenkins+docker+springboot一鍵自動部署項目

    本文章實現(xiàn)最簡單全面的Jenkins+docker+springboot 一鍵自動部署項目,步驟齊全,少走坑路。
    的頭像 發(fā)表于 09-14 09:30 ?1634次閱讀

    Jenkins+Docker一鍵自動化部署SpringBoot最簡流程

    簡述實現(xiàn)步驟:在docker安裝jenkins,配置jenkins基本信息,利用Dockerfile和shell腳本實現(xiàn)項目自動拉取打包并運行。
    的頭像 發(fā)表于 11-23 10:16 ?1425次閱讀

    Jenkins+Docker一鍵自動化部署SpringBoot項目

    本文章實現(xiàn)最簡單全面的Jenkins+docker+springboot 一鍵自動部署項目,步驟齊全,少走坑路。
    的頭像 發(fā)表于 12-14 10:04 ?964次閱讀

    Jenkins+Docker實現(xiàn)一鍵自動化部署項目!

    本文章實現(xiàn)最簡單全面的Jenkins+docker+springboot 一鍵自動部署項目,步驟齊全,少走坑路。
    的頭像 發(fā)表于 01-06 15:36 ?1300次閱讀

    關(guān)于Jenkins+docker+springboot一鍵自動部署項目

    本文章實現(xiàn)最簡單全面的Jenkins+docker+springboot 一鍵自動部署項目,步驟齊全,少走坑路。
    的頭像 發(fā)表于 05-16 08:59 ?885次閱讀
    關(guān)于<b class='flag-5'>Jenkins+docker+springboot</b><b class='flag-5'>一鍵</b><b class='flag-5'>自動</b><b class='flag-5'>部署</b>項目

    使用Jenkins和單個模板部署多個Kubernetes組件

    在持續(xù)集成和部署中,我們通常需要部署多個實例或組件到Kubernetes集群中。通過Jenkins的管道腳本,我們可以自動化這個過程。在本文中,我將演示如何使用
    的頭像 發(fā)表于 01-02 11:40 ?844次閱讀
    使用<b class='flag-5'>Jenkins</b>和單個模板<b class='flag-5'>部署</b>多個Kubernetes組件

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

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

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

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

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

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

    Jenkins 與 SonarQube 集成部署自動化代碼質(zhì)量監(jiān)控

    的性能表現(xiàn),為 Jenkins 與 SonarQube 的集成部署提供強大支撐。在 Flexus X 的助力下,自動化代碼掃描與質(zhì)量問題即時反饋成為可能,顯著提升團隊開發(fā)效率與軟件質(zhì)量。立即體驗華為云
    的頭像 發(fā)表于 01-07 17:24 ?271次閱讀
    <b class='flag-5'>Jenkins</b> 與 SonarQube 集成<b class='flag-5'>部署</b>,<b class='flag-5'>自動化</b>代碼質(zhì)量監(jiān)控

    基于 DockerJenkins 實現(xiàn)自動化部署

    優(yōu)化,為 Docker 容器應(yīng)用與 Jenkins 自動化流水線提供了理想的運行環(huán)境。無論是快速構(gòu)建、測試還是部署,F(xiàn)lexus X 都能
    的頭像 發(fā)表于 01-07 17:25 ?218次閱讀
    基于 <b class='flag-5'>Docker</b> 與 <b class='flag-5'>Jenkins</b> 實現(xiàn)<b class='flag-5'>自動化</b><b class='flag-5'>部署</b>
    百家乐官网教父方法| 百家乐官网游戏唯一官网网站| 百家乐官网庄家出千内幕| 哪个百家乐官网投注好| 百家乐官网怎么骗人| 免费百家乐官网分析工具| 百家乐小型抽水泵| 同乐城百家乐娱乐城| 大发888好么| 专业百家乐官网分析| 百家乐官网PK| 百家乐在发牌技巧| 索罗门百家乐的玩法技巧和规则| 大发888song58| 时时博在线娱乐城| 玩百家乐官网新太阳城| 百家乐官网几点不用补牌| 定制百家乐桌垫| 大发888为什么卡| 福海县| 迪威百家乐官网娱乐平台| 亚洲百家乐论坛| 炸金花棋牌游戏| 百家乐官网庄闲收益率| 百家乐洗码| 大发888娱乐场手机版| 玫瑰国际娱乐城| 真人百家乐官网蓝盾娱乐平台| 使用的百家乐软件| 777博彩| 机器百家乐官网软件| 百家乐游戏卡通| 网上博彩娱乐| 百家乐官网群的微博| 百家乐官网缆法排行榜| 百家乐投注方法投资法| 棋牌室营业执照| 百家乐官网娱乐网77scs| 百家乐玩的技巧| 现金百家乐官网| 优博家百家乐娱乐城|