欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Jenkins自動化部署SpringBoot項目的實現(xiàn)

 更新時間:2023年01月13日 09:19:23   作者:小學生波波  
本文主要介紹了Jenkins自動化部署SpringBoot項目的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

1、Jenkins介紹

1.1、概念

  • Jenkins是一個開源軟件項目,是基于Java開發(fā)的一種持續(xù)集成工具
  • Jenkins是一個可擴展的持續(xù)集成引擎
  • 用于監(jiān)控持續(xù)重復的工作,旨在提供一個開放易用的軟件平臺,使軟件的持續(xù)集成變成可能

持續(xù)集成

  • 就是通常所說的CI(Continues Integration),可以說是現(xiàn)代軟件技術開發(fā)的基礎
  • 持續(xù)集成是一種軟件開發(fā)實踐,即團隊開發(fā)成員經(jīng)常集成他們的工作,通常每個成員至少集成一次,也意味著每天可能會發(fā)生多次集成。

每次集成都通過自動化的構建(包括編譯,發(fā)布,自動化測試)來驗證,從而盡快地發(fā)現(xiàn)集成錯誤。許多團隊發(fā)現(xiàn)這個過程可以大大減少集成的問題,讓團隊能夠更快的開發(fā)內聚的軟件

1.2、優(yōu)勢

  • Jenkins是一個自包含的基于java的程序,可以開箱即用,包含Windows、Linux等操作系統(tǒng)的軟件包
  • Jenkins可以通過其web界面輕松設置和配置,其中包括動態(tài)錯誤檢查和內置幫助
  • 在插件中心中有數(shù)百個插件,Jenkins集成了持續(xù)集成和持續(xù)交付工具鏈中的幾乎所有工具
  • Jenkins可以輕松地跨多臺機器分配工作,幫助更快地跨多個平臺進行構建、測試和部署
  • Jenkins可以通過其插件架構進行擴展,為Jenkins所能做的事情提供了幾乎無限的可能性
  • 作為可擴展的自動化服務器,Jenkins可以用作簡單的CI服務器,也可以變成任何項目的持續(xù)交付中心

1.3、Jenkins目的

  • Jenkins 主要是監(jiān)控軟件開發(fā)流程,快速顯示問題。所以能保證開發(fā)人員以及相關人員省時省力提高開發(fā)效率
  • CI系統(tǒng)在整個開發(fā)過程中的主要作用是控制:當系統(tǒng)在代碼存儲庫中探測到修改時,它將運行構建的任務委托給構建過程本身
  • 如果構建失敗了,那么CI系統(tǒng)將通知相關人員,然后繼續(xù)監(jiān)視存儲庫。它的角色看起來是被動的;但它確能快速反映問題

2、環(huán)境準備

我們本文主要介紹在windows系統(tǒng)中安裝和使用Jenkins,那么在此之前,請先保證你電腦上有如下環(huán)境:

  • JDK8(我這里就是JDK8的環(huán)境)
  • git(我這里使用的版本是:2.37.1.windows.1)
  • maven(我這里使用的版本是:3.8.6)
  • 一個保存SpringBoot項目代碼的git倉庫(注意:該項目的啟動端口不能與Jenkins相同!Jenkins默認為8080)

我這里的SpringBoot項目git地址是:https://gitee.com/colinWu_java/JenkinsTest.git,項目啟動端口是:8001

3、Jenkins下載

3.1、下載

下載網(wǎng)址:https://get.jenkins.io/war-stable

下載war包即可,如下:

image-20230106153727242

注意JDK的版本,你下載的版本太高的話,需要JDK的版本也會很高,所以看清楚了再下載,下載需要時間很久。我這里選擇的是【2.346.3】,然后下載:

image-20230106171312403

下載的包如下:

image-20230106153429993

3.2、運行

然后用cmd進入目錄后,運行jenkins:

java -jar jenkins.war

如下:

image-20230106155150221

如果你的JDK版本不支持的話就會報錯了,如下:

image-20230106153935603

此時,你要么就升級你的JDK,要么就換一個低版本的jenkins,推薦換一個低版本的jenkins,因為JDK版本升級的話影響太廣泛了

然后訪問jenkins,在瀏覽器輸入:http://localhost:8080,如下:

image-20230106155239337

3.3、問題解決

如果上面界面等待幾秒,還是這個界面,那就是jenkins鏡像有問題,按照下面步驟解決

1、第一次運行jenkins后,會在C盤的用戶目錄中,生成一個.jenkins文件夾,進入到該文件夾

image-20230106155358225

2、找到文件:hudson.model.UpdateCenter.xml

image-20230106155458946

3、編輯這個文件

image-20230106155556538

鏡像有很多種,大家可以自行百度一下

4、重啟jenkins,再訪問http://localhost:8080,就會進入到密碼認證界面:

image-20230106155817278

cmd窗口中,會打印密碼,直接復制填入即可

image-20230106155854298

然后加載一會之后出現(xiàn)如下配置界面了:

image-20230106160036499

點擊【安裝推薦的插件】即可:

image-20230106173438387

4、Jenkins配置

4.1、用戶配置

上面頁面可能花的時間會比較久,安裝完成后是這樣的界面:

image-20230106173700329

我這里設置到賬號是:wjb,密碼是:itsource123,然后點擊【保存并完成】:

image-20230106173754353

然后:

image-20230106173951689

點擊【開始使用Jenkins】按鈕即可

image-20230106174050023

4.2、系統(tǒng)配置

image-20230106174448510

image-20230106174602728

4.3、全局工具配置-最重要

下面幾項必須配置:

  • maven
  • git
  • JDK

image-20230106174734798

image-20230106174833096

然后繼續(xù)配置JDK:

image-20230106174903150

image-20230106175156566

然后繼續(xù)配置git:

image-20230108142434449

最后配置maven:

image-20230106183900230

安裝maven插件:

安裝插件進度頁面:

image-20230106184130921

然后重啟一下Jenkins

5、新建項目

新建Item:

image-20230106183317074

image-20230106184604369

在源碼管理設置模塊,選擇Git,然后輸入Gitee項目倉庫地址,如下圖:

image-20230106184742768

繼續(xù)往下翻,構建觸發(fā)器處,勾選Poll SCM,并輸入如下信息:* * * * *

如下:

image-20230106184917248

5個星號這是什么意思? 這5個符號的位置,分別表示分、時、日、月、周 上圖中的五個*,其含義已由黃色字體顯示,表示每分鐘輪詢一次Gitee倉庫,如果倉庫有更新,則重新拉取項目,進行持續(xù)集成與持續(xù)部署。 如果輸入H/5 * * * *,則表示每5分鐘輪詢一次。

繼續(xù)下翻,Build處,添加如下格式的Goals and options:

clean package -DskipTests install

如下:

image-20230106192218619

繼續(xù)往下翻,POST Steps 處,勾選 Run regardless of build result,然后添加構建步驟(Add post-build step),選擇執(zhí)行Windows批處理命令(Execute Windows batch command),然后輸入下面內容:

@echo off
set BUILD_ID=DONTKILLME
set port=8001
for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%port%"') do taskkill /pid %%m -t -f

xcopy C:\Users\it206\.jenkins\workspace\JenkinsTest\target\sp-test.jar F:\jenkins\workspace\JenkinsTest\ /Y
echo 復制jar包完成
echo 執(zhí)行【sp-test.jar】---開始
start javaw -jar F:\jenkins\workspace\JenkinsTest\sp-test.jar >> springboot.log 2>&1 &
echo 執(zhí)行【sp-test.jar】---結束

exit

相關參數(shù)介紹:

1、set BUILD_ID=DONTKILLME
Jenkins默認會在Build結束后Kill掉所有的衍生進程,設置不要kill

2、xcopy 源文件 目的文件
將源文件復制到目標文件夾下
為什么要復制一份?
下次構建的時候,需要刪除現(xiàn)有的jar,重新構建新的jar;如果直接運行生成的jar,下次構建的時候,無法刪除,構建失敗。

3、echo xxx
這里只是在jenkins的控制臺輸出日志信息

4、start javaw -jar xxx.jar &    這里是告訴系統(tǒng),我的jar文件是后臺執(zhí)行,最后的符號 & 一定要加,否則jenkins會認為任務結束,會把我們的jar強制kill掉

如下:

image-20230108153730187

最后點擊【保存】按鈕,然后開始構建:

image-20230108153823283

這樣查看日志:

image-20230108154025755

然后就可以看到日志詳情了:

image-20230108153641253

也可以在首頁進行構建:

image-20230106193301196

然后看本地磁盤,jar包已經(jīng)復制到我指定目錄了:

image-20230108154121248

但是我指定的日志文件還是回生成在Jenkins的默認目錄,如下:

image-20230108154503441

7、測試

我Gitee上的SpringBoot項目地址是:https://gitee.com/colinWu_java/JenkinsTest.git

測試接口代碼如下:

package cn.itsource.controller;

import org.springframework.web.bind.annotation.*;

/**
 * <p>TestController</p>
 *
 * @author 波波老師(微信 : javabobo0513)
 */
@RestController
public class TestController {

    @GetMapping("/test")
    public String test(){
        return "歡迎來到SpringBoot奇妙世界!";
    }

}

然后Jenkins構建后就訪問頁面,如下:

image-20230106192944940

完美,可以正常顯示接口的返回數(shù)據(jù),部署成功了,然后我們修改一下接口的返回數(shù)據(jù),改成下面這樣:

package cn.itsource.controller;

import org.springframework.web.bind.annotation.*;

/**
 * <p>TestController</p>
 *
 * @author 波波老師(微信 : javabobo0513)
 */
@RestController
public class TestController {

    @GetMapping("/test")
    public String test(){
        return "歡迎來到SpringBoot奇妙世界!Jenkins學習";
    }

}

然后代碼提交到gitee,等一分鐘后,再刷新頁面,看頁面如下:

image-20230108145620833

內容是我們修改后的值,說明Jenkins確實重新拉取項目重新部署了,nice啊,以后我們修改完代碼后直接提交就可以了,部署就不用管了,是不是很香

8、錯誤解決

如果你Jenkins的控制臺中出現(xiàn)如下日志信息:

image-20230108153145084

在全局安全配置里面,勾選上這個參數(shù)即可:

image-20230108153402788

 到此這篇關于Jenkins自動化部署SpringBoot項目的實現(xiàn)的文章就介紹到這了,更多相關Jenkins自動化部署SpringBoot內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Springboot項目通過redis實現(xiàn)接口的冪等性

    Springboot項目通過redis實現(xiàn)接口的冪等性

    這篇文章主要為大家介紹了Springboot項目通過redis實現(xiàn)接口的冪等性,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12
  • jackson序列化和反序列化的應用實踐指南

    jackson序列化和反序列化的應用實踐指南

    這篇文章主要給大家介紹了關于jackson序列化和反序列化的應用實踐指南,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • 詳解批處理框架之Spring Batch

    詳解批處理框架之Spring Batch

    Spring Batch是一個輕量級的、完善的批處理框架,作為Spring體系中的一員,它擁有靈活、方便、生產(chǎn)可用的特點。在應對高效處理大量信息、定時處理大量數(shù)據(jù)等場景十分簡便。結合調度框架能更大地發(fā)揮Spring Batch的作用
    2021-06-06
  • SpringBoot自動裝配之@Enable深入講解

    SpringBoot自動裝配之@Enable深入講解

    這篇文章主要介紹了SpringBoot自動裝配之@Enable,SpringBoot中提供了很多Enable開頭的注解,這些注解都是用于動態(tài)啟用某些功能的。而其底層原理是使用@Import注?解導入一些配置類,實現(xiàn)Bean的動態(tài)加載
    2023-01-01
  • logback StatusListener的定義方法源碼解讀

    logback StatusListener的定義方法源碼解讀

    這篇文章主要為大家介紹了logback StatusListener的定義方法源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • Java技能點之SimpleDateFormat進行日期格式化問題

    Java技能點之SimpleDateFormat進行日期格式化問題

    這篇文章主要介紹了Java技能點之SimpleDateFormat進行日期格式化問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Spring?Boot項目獲取resources目錄下文件并返回給前端的方案

    Spring?Boot項目獲取resources目錄下文件并返回給前端的方案

    我們在項目中經(jīng)常碰到需要讀取固定文件的場景,如模板文件,一般做法是將文件放在resources目錄下,程序通過多種方式可以順利讀取文件,這篇文章主要給大家介紹了關于Spring?Boot項目獲取resources目錄下文件并返回給前端的相關資料,需要的朋友可以參考下
    2024-07-07
  • SpringBoot 如何根據(jù)不同profile選擇不同配置

    SpringBoot 如何根據(jù)不同profile選擇不同配置

    這篇文章主要介紹了SpringBoot 如何根據(jù)不同profile選擇不同配置的操作方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • SpringBoot工程打包與運行的實現(xiàn)詳解

    SpringBoot工程打包與運行的實現(xiàn)詳解

    本文主要介紹了SpringBoot工程的打包與運行的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • JavaSE static final及abstract修飾符實例解析

    JavaSE static final及abstract修飾符實例解析

    這篇文章主要介紹了JavaSE static final及abstract修飾符實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06

最新評論