最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Jenkins自動(dòng)化部署SpringBoot項(xiàng)目的實(shí)現(xiàn)

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

1、Jenkins介紹

1.1、概念

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

持續(xù)集成

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

每次集成都通過(guò)自動(dòng)化的構(gòu)建(包括編譯,發(fā)布,自動(dòng)化測(cè)試)來(lái)驗(yàn)證,從而盡快地發(fā)現(xiàn)集成錯(cuò)誤。許多團(tuán)隊(duì)發(fā)現(xiàn)這個(gè)過(guò)程可以大大減少集成的問(wèn)題,讓團(tuán)隊(duì)能夠更快的開(kāi)發(fā)內(nèi)聚的軟件

1.2、優(yōu)勢(shì)

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

1.3、Jenkins目的

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

2、環(huán)境準(zhǔn)備

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

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

我這里的SpringBoot項(xiàng)目git地址是:https://gitee.com/colinWu_java/JenkinsTest.git,項(xiàng)目啟動(dòng)端口是:8001

3、Jenkins下載

3.1、下載

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

下載war包即可,如下:

image-20230106153727242

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

image-20230106171312403

下載的包如下:

image-20230106153429993

3.2、運(yùn)行

然后用cmd進(jìn)入目錄后,運(yùn)行jenkins:

java -jar jenkins.war

如下:

image-20230106155150221

如果你的JDK版本不支持的話就會(huì)報(bào)錯(cuò)了,如下:

image-20230106153935603

此時(shí),你要么就升級(jí)你的JDK,要么就換一個(gè)低版本的jenkins,推薦換一個(gè)低版本的jenkins,因?yàn)镴DK版本升級(jí)的話影響太廣泛了

然后訪問(wèn)jenkins,在瀏覽器輸入:http://localhost:8080,如下:

image-20230106155239337

3.3、問(wèn)題解決

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

1、第一次運(yùn)行jenkins后,會(huì)在C盤(pán)的用戶目錄中,生成一個(gè).jenkins文件夾,進(jìn)入到該文件夾

image-20230106155358225

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

image-20230106155458946

3、編輯這個(gè)文件

image-20230106155556538

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

4、重啟jenkins,再訪問(wèn)http://localhost:8080,就會(huì)進(jìn)入到密碼認(rèn)證界面:

image-20230106155817278

cmd窗口中,會(huì)打印密碼,直接復(fù)制填入即可

image-20230106155854298

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

image-20230106160036499

點(diǎn)擊【安裝推薦的插件】即可:

image-20230106173438387

4、Jenkins配置

4.1、用戶配置

上面頁(yè)面可能花的時(shí)間會(huì)比較久,安裝完成后是這樣的界面:

image-20230106173700329

我這里設(shè)置到賬號(hào)是:wjb,密碼是:itsource123,然后點(diǎn)擊【保存并完成】:

image-20230106173754353

然后:

image-20230106173951689

點(diǎn)擊【開(kāi)始使用Jenkins】按鈕即可

image-20230106174050023

4.2、系統(tǒng)配置

image-20230106174448510

image-20230106174602728

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

下面幾項(xiàng)必須配置:

  • maven
  • git
  • JDK

image-20230106174734798

image-20230106174833096

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

image-20230106174903150

image-20230106175156566

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

image-20230108142434449

最后配置maven:

image-20230106183900230

安裝maven插件:

安裝插件進(jìn)度頁(yè)面:

image-20230106184130921

然后重啟一下Jenkins

5、新建項(xiàng)目

新建Item:

image-20230106183317074

image-20230106184604369

在源碼管理設(shè)置模塊,選擇Git,然后輸入Gitee項(xiàng)目倉(cāng)庫(kù)地址,如下圖:

image-20230106184742768

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

如下:

image-20230106184917248

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

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

clean package -DskipTests install

如下:

image-20230106192218619

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

@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 復(fù)制jar包完成
echo 執(zhí)行【sp-test.jar】---開(kāi)始
start javaw -jar F:\jenkins\workspace\JenkinsTest\sp-test.jar >> springboot.log 2>&1 &
echo 執(zhí)行【sp-test.jar】---結(jié)束

exit

相關(guān)參數(shù)介紹:

1、set BUILD_ID=DONTKILLME
Jenkins默認(rèn)會(huì)在Build結(jié)束后Kill掉所有的衍生進(jìn)程,設(shè)置不要kill

2、xcopy 源文件 目的文件
將源文件復(fù)制到目標(biāo)文件夾下
為什么要復(fù)制一份?
下次構(gòu)建的時(shí)候,需要?jiǎng)h除現(xiàn)有的jar,重新構(gòu)建新的jar;如果直接運(yùn)行生成的jar,下次構(gòu)建的時(shí)候,無(wú)法刪除,構(gòu)建失敗。

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

4、start javaw -jar xxx.jar &    這里是告訴系統(tǒng),我的jar文件是后臺(tái)執(zhí)行,最后的符號(hào) & 一定要加,否則jenkins會(huì)認(rèn)為任務(wù)結(jié)束,會(huì)把我們的jar強(qiáng)制kill掉

如下:

image-20230108153730187

最后點(diǎn)擊【保存】按鈕,然后開(kāi)始構(gòu)建:

image-20230108153823283

這樣查看日志:

image-20230108154025755

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

image-20230108153641253

也可以在首頁(yè)進(jìn)行構(gòu)建:

image-20230106193301196

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

image-20230108154121248

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

image-20230108154503441

7、測(cè)試

我Gitee上的SpringBoot項(xiàng)目地址是:https://gitee.com/colinWu_java/JenkinsTest.git

測(cè)試接口代碼如下:

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 "歡迎來(lái)到SpringBoot奇妙世界!";
    }

}

然后Jenkins構(gòu)建后就訪問(wèn)頁(yè)面,如下:

image-20230106192944940

完美,可以正常顯示接口的返回?cái)?shù)據(jù),部署成功了,然后我們修改一下接口的返回?cái)?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 "歡迎來(lái)到SpringBoot奇妙世界!Jenkins學(xué)習(xí)";
    }

}

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

image-20230108145620833

內(nèi)容是我們修改后的值,說(shuō)明Jenkins確實(shí)重新拉取項(xiàng)目重新部署了,nice啊,以后我們修改完代碼后直接提交就可以了,部署就不用管了,是不是很香

8、錯(cuò)誤解決

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

image-20230108153145084

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

image-20230108153402788

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

相關(guān)文章

  • Mybatis動(dòng)態(tài)拼接sql提高插入速度實(shí)例

    Mybatis動(dòng)態(tài)拼接sql提高插入速度實(shí)例

    這篇文章主要介紹了Mybatis動(dòng)態(tài)拼接sql提高插入速度實(shí)例,當(dāng)數(shù)據(jù)量少的時(shí)候,沒(méi)問(wèn)題,有效時(shí)間內(nèi)可能完成插入,但是當(dāng)數(shù)據(jù)量達(dá)到一定程度的時(shí)候,每次都一個(gè)sql插入超時(shí),所以采用了拼接sql的方式加快速度,需要的朋友可以參考下
    2023-09-09
  • 如何通過(guò)Kaptcha在Web頁(yè)面生成驗(yàn)證碼

    如何通過(guò)Kaptcha在Web頁(yè)面生成驗(yàn)證碼

    這篇文章主要介紹了如何通過(guò)Kaptcha在Web頁(yè)面生成驗(yàn)證碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • 詳解配置類為什么要添加@Configuration注解

    詳解配置類為什么要添加@Configuration注解

    這篇文章主要介紹了詳解配置類為什么要添加@Configuration注解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • Spring Security使用多種加密方式進(jìn)行密碼校驗(yàn)的代碼示例

    Spring Security使用多種加密方式進(jìn)行密碼校驗(yàn)的代碼示例

    在Web應(yīng)用中,密碼的安全存儲(chǔ)和驗(yàn)證是至關(guān)重要的,本文將通過(guò)一個(gè)具體的代碼示例,介紹和總結(jié)如何在Spring Security中使用多種加密方式進(jìn)行密碼校驗(yàn),文中通過(guò)代碼講解得非常詳細(xì),需要的朋友可以參考下
    2024-06-06
  • 分享一個(gè)簡(jiǎn)單的java爬蟲(chóng)框架

    分享一個(gè)簡(jiǎn)單的java爬蟲(chóng)框架

    這篇文章主要介紹了分享一個(gè)簡(jiǎn)單的java爬蟲(chóng)框架,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • Maven配置項(xiàng)目依賴使用本地倉(cāng)庫(kù)的方法匯總(小結(jié))

    Maven配置項(xiàng)目依賴使用本地倉(cāng)庫(kù)的方法匯總(小結(jié))

    這篇文章主要介紹了Maven配置項(xiàng)目依賴使用本地倉(cāng)庫(kù)的方法匯總(小結(jié)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Spring Boot 整合 TKMybatis 二次簡(jiǎn)化持久層代碼的實(shí)現(xiàn)

    Spring Boot 整合 TKMybatis 二次簡(jiǎn)化持久層代碼的實(shí)現(xiàn)

    這篇文章主要介紹了Spring Boot 整合 TKMybatis 二次簡(jiǎn)化持久層代碼的實(shí)現(xiàn),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • 將內(nèi)容寫(xiě)到txt文檔里面并讀取及刪除的方法

    將內(nèi)容寫(xiě)到txt文檔里面并讀取及刪除的方法

    本文有個(gè)不錯(cuò)的示例,主要講解如何將內(nèi)容寫(xiě)到txt文檔里面、讀取文件里面的內(nèi)容以及清除txt文件里面的內(nèi)容
    2014-01-01
  • 一分鐘入門(mén)Java Spring Boot徹底解決SSM配置問(wèn)題

    一分鐘入門(mén)Java Spring Boot徹底解決SSM配置問(wèn)題

    Spring Boot是由Pivotal團(tuán)隊(duì)提供的全新框架,其設(shè)計(jì)目的是用來(lái)簡(jiǎn)化新Spring應(yīng)用的初始搭建以及開(kāi)發(fā)過(guò)程。該框架使用了特定的方式來(lái)進(jìn)行配置,從而使開(kāi)發(fā)人員不再需要定義樣板化的配置。通過(guò)這種方式,Spring Boot致力于在蓬勃發(fā)展的快速應(yīng)用開(kāi)發(fā)領(lǐng)域成為領(lǐng)導(dǎo)者
    2021-10-10
  • JavaWeb實(shí)現(xiàn)學(xué)生管理系統(tǒng)的超詳細(xì)過(guò)程

    JavaWeb實(shí)現(xiàn)學(xué)生管理系統(tǒng)的超詳細(xì)過(guò)程

    學(xué)生信息管理系統(tǒng)是針對(duì)學(xué)校人事處的大量業(yè)務(wù)處理工作而開(kāi)發(fā)的管理軟件,主要用于學(xué)校學(xué)生信息管理,下面這篇文章主要給大家介紹了關(guān)于JavaWeb實(shí)現(xiàn)學(xué)生管理系統(tǒng)的超詳細(xì)過(guò)程,需要的朋友可以參考下
    2023-05-05

最新評(píng)論

佳木斯市| 开远市| 嘉定区| 梅州市| 双鸭山市| 光泽县| 乡宁县| 屏东县| 江北区| 滁州市| 牡丹江市| 库伦旗| 勐海县| 曲阜市| 双桥区| 抚远县| 同仁县| 临沂市| 泽普县| 邵阳县| 清原| 合肥市| 蒙自县| 灵石县| 遂溪县| 靖州| 湖口县| 万盛区| 留坝县| 沁阳市| 吉隆县| 遵化市| 大石桥市| 蒙城县| 无为县| 龙泉市| 芜湖市| 如皋市| 曲沃县| 永年县| 堆龙德庆县|