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

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

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

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

Android編程精選 ? 來源:CSDN技術(shù)社區(qū) ? 作者:這把躺贏 ? 2022-12-14 10:04 ? 次閱讀

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

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

簡述實現(xiàn)步驟:在docker安裝jenkins,配置jenkins基本信息,利用Dockerfile和shell腳本實現(xiàn)項目自動拉取打包并運(yù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中默認(rèn)只開啟stable倉庫,故這里安裝的是最新穩(wěn)定版17.12.0
yuminstall<自己的版本>#例如:sudo yum install docker-ce-17.12.0.ce

6.啟動和開機(jī)啟動

systemctlstartdocker
systemctlenabledocker

7.驗證安裝是否成功

dockerversion

二、安裝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

進(jìn)入Jenkins容器:docker exec -it {Jenkins容器名} bash

例如 docker exec -it jenkins bash

查看密碼:cat /var/lib/jenkins/secrets/initialAdminPassword

復(fù)制密碼到輸入框里面

6ad6aa5c-7ada-11ed-8abf-dac502259ad0.png

2.2 安裝插件

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

6af8dcee-7ada-11ed-8abf-dac502259ad0.png

2.3 創(chuàng)建管理員用戶

此賬戶一定要記住哦

三、系統(tǒng)配置

1. 安裝需要插件

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

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

6b0c6cfa-7ada-11ed-8abf-dac502259ad0.png

安裝Maven Integration

安裝Publish Over SSH(如果不需要遠(yuǎn)程推送,不用安裝)

如果使用Gitee 碼云,安裝插件Gitee(Git自帶不用安裝)

2. 配置Maven

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

6b28d020-7ada-11ed-8abf-dac502259ad0.png

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

1. 新建任務(wù)

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

6b3a0f7a-7ada-11ed-8abf-dac502259ad0.png

2. 源碼管理

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

6b75df78-7ada-11ed-8abf-dac502259ad0.png6b87c9e0-7ada-11ed-8abf-dac502259ad0.png

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

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

6b9720ca-7ada-11ed-8abf-dac502259ad0.png此處命令只是install,看是否能生成jar包

cleaninstall-Dmaven.test.skip=true
6bb0c7aa-7ada-11ed-8abf-dac502259ad0.png

4. 保存

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

五、測試

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

1. 構(gòu)建

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

6bc23c9c-7ada-11ed-8abf-dac502259ad0.png

2.查看日志

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

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

6be43fcc-7ada-11ed-8abf-dac502259ad0.png6c000c70-7ada-11ed-8abf-dac502259ad0.png

3. 查看項目位置

cd /var/jenkins_home/workspace

ll 即可查看是否存在

六、運(yùn)行項目

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

1. Dockerfile

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

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

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

6c43bcd6-7ada-11ed-8abf-dac502259ad0.png配置如下:

6c5c0322-7ada-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

備注:

我上圖用了docker logs -f 是為了方便看日志,真實不要用,因為會一直等待日志,構(gòu)建任務(wù)會失敗

加|| true 是如果命令執(zhí)行失敗也會繼續(xù)實行,為了防止第一次沒有該鏡像報錯

3. 保存

點(diǎn)擊保存即可

4. 構(gòu)建

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

6c79ba16-7ada-11ed-8abf-dac502259ad0.png

5. 驗證

docker ps 查看是否有自己的容器

docker logs 自己的容器名 查看日志是否正確

瀏覽器訪問項目試一試

審核編輯:湯梓紅

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

    關(guān)注

    0

    文章

    340

    瀏覽量

    14362
  • Docker
    +關(guān)注

    關(guān)注

    0

    文章

    489

    瀏覽量

    11893
  • jenkins
    +關(guān)注

    關(guān)注

    0

    文章

    31

    瀏覽量

    5159
  • SpringBoot
    +關(guān)注

    關(guān)注

    0

    文章

    174

    瀏覽量

    187

原文標(biāo)題:Jenkins+Docker 一鍵自動化部署 SpringBoot 項目

文章出處:【微信號:AndroidPush,微信公眾號:Android編程精選】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

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

    工作提供了致和自動化的基礎(chǔ)。 我們將研究指南中的以下主題: ?在自定義Docker容器中的虛擬Arm Cortex-M4系統(tǒng)上運(yùn)行“你好世界”應(yīng)用程序。 ?實施測試以驗證應(yīng)用程序的完成情況。 ?配置
    發(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自動化部署

    本文詳細(xì)介紹Jenkins的簡單使用—jenkins自動化部署
    的頭像 發(fā)表于 02-06 11:27 ?4715次閱讀
    <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 ?1592次閱讀

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

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

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

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

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

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

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

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

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

    簡述實現(xiàn)步驟:在docker安裝jenkins,配置jenkins基本信息,利用Dockerfile和shell腳本實現(xiàn)項目自動拉取打包并運(yùn)
    的頭像 發(fā)表于 11-06 16:27 ?2354次閱讀
    <b class='flag-5'>Jenkins+Docker</b><b class='flag-5'>一鍵</b><b class='flag-5'>自動化</b><b class='flag-5'>部署</b><b class='flag-5'>SpringBoot</b>應(yīng)用最精簡流程

    基于Jenkins+GitLab+Maven實現(xiàn)代碼自動打包編譯發(fā)布

    Jenkins個獨(dú)立開源的持續(xù)集成和持續(xù)交付工具,用于自動化構(gòu)建、測試和部署軟件項目
    的頭像 發(fā)表于 11-20 09:57 ?5079次閱讀
    基于<b class='flag-5'>Jenkins</b>+GitLab+Maven實現(xiàn)代碼<b class='flag-5'>自動</b>打包編譯發(fā)布

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

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

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

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

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

    前言 828 B2B 企業(yè)節(jié)特惠來襲,F(xiàn)lexus X 實例引領(lǐng)自動化部署新紀(jì)元!Docker 攜手 Jenkins 與 Gitee,共創(chuàng) CICD 無限可能!在快速迭代的數(shù)字時代,我
    的頭像 發(fā)表于 12-26 18:19 ?192次閱讀
    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 的集成部署提供強(qiáng)大支撐。在 Flexus X 的助力下,自動化代碼掃描與質(zhì)量問題即時反饋成為可能,顯著提升團(tuán)隊開發(fā)效率與軟件質(zhì)量。立即體驗華為云
    的頭像 發(fā)表于 01-07 17:24 ?235次閱讀
    <b class='flag-5'>Jenkins</b> 與 SonarQube 集成<b class='flag-5'>部署</b>,<b class='flag-5'>自動化</b>代碼質(zhì)量監(jiān)控

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

    828 企業(yè)上云節(jié)優(yōu)惠,開啟您的 DockerJenkins 自動化部署之旅,讓軟件創(chuàng)新更快步! 鏈接直達(dá)
    的頭像 發(fā)表于 01-07 17:25 ?199次閱讀
    基于 <b class='flag-5'>Docker</b> 與 <b class='flag-5'>Jenkins</b> 實現(xiàn)<b class='flag-5'>自動化</b><b class='flag-5'>部署</b>