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

詳解使用Jenkins自動(dòng)編譯部署web應(yīng)用

 更新時(shí)間:2018年06月27日 11:11:05   作者:gavid0124  
本篇主要介紹基于Jenkins實(shí)現(xiàn)持續(xù)集成的方式,通過(guò)案例介紹線上自動(dòng)編譯及部署的配置過(guò)程,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

寫(xiě)在前面

初步接觸持續(xù)集成自動(dòng)化過(guò)程,本篇主要介紹基于Jenkins實(shí)現(xiàn)持續(xù)集成的方式,通過(guò)案例介紹線上自動(dòng)編譯及部署的配置過(guò)程

持續(xù)集成

持續(xù)集成是一種軟件開(kāi)發(fā)實(shí)踐,即團(tuán)隊(duì)開(kāi)發(fā)成員經(jīng)常集成它們的工作,通過(guò)每個(gè)成員每天至少集成一次,也就意味著每天可能會(huì)發(fā)生多次集成。每次集成都通過(guò)自動(dòng)化的構(gòu)建(包括編譯,發(fā)布,自動(dòng)化測(cè)試)來(lái)驗(yàn)證,從而盡早地發(fā)現(xiàn)集成錯(cuò)誤。

Jenkins

Jenkins是基于Java開(kāi)發(fā)的一種持續(xù)集成工具,用于監(jiān)控持續(xù)重復(fù)的工作,功能包括:

1、持續(xù)的軟件版本發(fā)布/測(cè)試項(xiàng)目。

2、監(jiān)控外部調(diào)用執(zhí)行的工作。

更多信息請(qǐng)戳官網(wǎng)

安裝

網(wǎng)上有很多Jenkins安裝配置教程,詳情請(qǐng)戳Jenkins安裝與配置

背景

Jenkins運(yùn)行在Linux服務(wù)器上,嘗試在此服務(wù)器上編譯并部署一個(gè)web應(yīng)用,編譯過(guò)程需要node環(huán)境,編譯后文件需ssh到測(cè)試服務(wù)器

Jenkins主要完成任務(wù)如下:1、自動(dòng)集成編譯環(huán)境2、線上編譯應(yīng)用3、ssh到目標(biāo)環(huán)境并運(yùn)行

新建一個(gè)Job

登錄進(jìn)入Jenkins,可以看到當(dāng)前所有已集成項(xiàng)目的構(gòu)建情況;

1、點(diǎn)擊左上角的【新建】,創(chuàng)建一個(gè)新任務(wù)

2、填寫(xiě)任務(wù)名稱,構(gòu)建的項(xiàng)目類型可根據(jù)實(shí)際情況進(jìn)行選擇,本次選擇第一種即可

3、選擇完畢,點(diǎn)擊【OK】,回到首頁(yè),發(fā)現(xiàn)創(chuàng)建的Job已顯示在列表中

配置編譯環(huán)境

在這個(gè)過(guò)程中,我們需要為應(yīng)用配置基于node的編譯環(huán)境。

關(guān)于安裝node,一般可以下載執(zhí)行文件安裝或編譯源碼安裝,而通過(guò)Jenkins,我們則可考慮使用其提供的插件進(jìn)行自動(dòng)安裝

1、選擇系統(tǒng)管理->管理插件

2、可以看到,Jenkins提供了豐富的插件供開(kāi)發(fā)者使用,找到我們需要的[NodeJS Plugin],勾選后點(diǎn)擊安裝即可

3、安裝完畢后,選擇系統(tǒng)管理->Global Tool Configuration,配置node下載及安裝

4、進(jìn)入后,擼到底部,發(fā)現(xiàn)全局可用工具中已經(jīng)出現(xiàn)了NodeJS的配置項(xiàng)5、插件支持多種方式安裝nodeJS,點(diǎn)擊[新建安裝],選擇習(xí)慣的安裝方式即可,此處給出從node官網(wǎng)下載并安裝的配置

6、保存完畢后,通過(guò)列表,進(jìn)入剛剛新建的Job,找到【構(gòu)建環(huán)境】,勾選Provide Node & npm bin/ folder to PATH,選擇剛剛添加的配置即可;此后當(dāng)每次build,都會(huì)首先執(zhí)行環(huán)境構(gòu)建,環(huán)境構(gòu)建無(wú)誤后,才會(huì)開(kāi)始真正的構(gòu)建過(guò)程

配置構(gòu)建過(guò)程

在這個(gè)過(guò)程中,我們可以配置構(gòu)建所需的參數(shù),用來(lái)指明構(gòu)建的位置(從哪個(gè)分支/哪個(gè)版本...)或其他一些狀態(tài);并通過(guò)命令執(zhí)行構(gòu)建。

1、通過(guò)列表進(jìn)入Job詳情,開(kāi)始相關(guān)配置;

2、【General】一欄需要配置項(xiàng)目基礎(chǔ)信息和一些構(gòu)建需要的參數(shù)。選擇【參數(shù)化構(gòu)建】,此構(gòu)建方式允許我們自定義構(gòu)建過(guò)程中的參數(shù)。如下:配置一個(gè)branch參數(shù),用于指明要構(gòu)建的git分支

3、【源碼管理】一欄需要填寫(xiě)待構(gòu)建項(xiàng)目的源碼地址,其中【Branches to build】用來(lái)指明待構(gòu)建的分支,當(dāng)然,也可以選擇某個(gè)提交號(hào),同時(shí)此處也可以使用我們?cè)贕eneral中定義變量(詳細(xì)配置見(jiàn)輸入框右側(cè)的[幫助]按鈕)

4、【構(gòu)建】一欄需要輸入相關(guān)命令來(lái)實(shí)現(xiàn)自動(dòng)化構(gòu)建,此過(guò)程在【環(huán)境構(gòu)建】后,故我們可以編寫(xiě)如下代碼執(zhí)行構(gòu)建

5、線上編譯完畢,下面將build完成的文件發(fā)送至目標(biāo)環(huán)境(測(cè)試環(huán)境/生產(chǎn)環(huán)境)。繼續(xù)在【構(gòu)建】一欄中添加配置,指定目標(biāo)環(huán)境相關(guān)信息;命令行配置ssh后的一些操作(解壓文件,并刪除壓縮包)

執(zhí)行構(gòu)建

至此,整個(gè)構(gòu)建的配置算是基本完成,下面開(kāi)始構(gòu)建?;氐搅斜眄?yè),點(diǎn)擊構(gòu)建即可:

可以看到構(gòu)建歷史列表中顯示當(dāng)前構(gòu)建的進(jìn)度

點(diǎn)擊左側(cè)圓形按鈕,即可進(jìn)入控制臺(tái)查看輸出

構(gòu)建完畢后,可以通過(guò)列表中的晴雨?duì)顟B(tài)查看構(gòu)建結(jié)果

結(jié)語(yǔ)

本篇簡(jiǎn)單介紹了基于Jenkins構(gòu)建的過(guò)程,Jenkins功能還有很多,會(huì)在之后的篇幅中陸續(xù)介紹。隨著項(xiàng)目開(kāi)發(fā)規(guī)模和復(fù)雜度不斷增大,持續(xù)集成是一個(gè)必然的選擇。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring Data Envers支持有條件變動(dòng)紀(jì)錄的保存和查詢的方法

    Spring Data Envers支持有條件變動(dòng)紀(jì)錄的保存和查詢的方法

    通過(guò)spring-data-envers可以很容易的實(shí)現(xiàn)數(shù)據(jù)變動(dòng)紀(jì)錄的保存和查詢,本文介紹支持有條件變動(dòng)紀(jì)錄的保存和查詢的方法,通過(guò)spring-data-envers很容易的實(shí)現(xiàn)變動(dòng)紀(jì)錄的保存和查詢,只需要增加幾個(gè)注解就可以,感興趣的朋友跟隨小編一起看看吧
    2023-10-10
  • springboot使用@KafkaListener監(jiān)聽(tīng)多個(gè)kafka配置實(shí)現(xiàn)

    springboot使用@KafkaListener監(jiān)聽(tīng)多個(gè)kafka配置實(shí)現(xiàn)

    當(dāng)服務(wù)中需要監(jiān)聽(tīng)多個(gè)kafka時(shí),?需要配置多個(gè)kafka,本文主要介紹了springboot使用@KafkaListener監(jiān)聽(tīng)多個(gè)kafka配置實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-04-04
  • 在Java8中構(gòu)建Stream流的多種方式詳解

    在Java8中構(gòu)建Stream流的多種方式詳解

    當(dāng)我們處理集合數(shù)據(jù)時(shí),往往需要對(duì)其進(jìn)行各種操作,如過(guò)濾、映射、排序、歸約等,在 Java 8 中引入的 Stream 流為我們提供了一種更加簡(jiǎn)潔和靈活的方式來(lái)處理數(shù)據(jù),本文將介紹如何基于 Stream 構(gòu)建流,為你展示創(chuàng)建和操作流的多種方法
    2023-08-08
  • java8 toMap問(wèn)題(key重復(fù)如何解決)

    java8 toMap問(wèn)題(key重復(fù)如何解決)

    這篇文章主要介紹了java8 toMap問(wèn)題(key重復(fù)如何解決),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • 詳解Java同步—線程鎖和條件對(duì)象

    詳解Java同步—線程鎖和條件對(duì)象

    在這篇文章中給大家詳細(xì)講述了Java同步—線程鎖和條件對(duì)象的相關(guān)知識(shí)點(diǎn),有需要的讀者們可以參考下。
    2018-07-07
  • java notify和notifyAll的對(duì)比

    java notify和notifyAll的對(duì)比

    這篇文章主要介紹了 java notify和notifyAll的對(duì)比的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • SpringBoot實(shí)現(xiàn)接口文檔自動(dòng)生成的方法示例

    SpringBoot實(shí)現(xiàn)接口文檔自動(dòng)生成的方法示例

    在開(kāi)發(fā)Web應(yīng)用程序時(shí),接口文檔是非常重要的一環(huán),本文主要介紹了SpringBoot實(shí)現(xiàn)接口文檔自動(dòng)生成的方法示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10
  • Java源碼解析之ClassLoader

    Java源碼解析之ClassLoader

    在看系統(tǒng)啟動(dòng)的流程中看到了ClassLoader使用,重新溫故下ClassLoader流程和原理,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴們很有幫助,需要的朋友可以參考下
    2021-05-05
  • Jmeter接口登錄獲取參數(shù)token報(bào)錯(cuò)問(wèn)題解決方案

    Jmeter接口登錄獲取參數(shù)token報(bào)錯(cuò)問(wèn)題解決方案

    這篇文章主要介紹了Jmeter接口登錄獲取參數(shù)token報(bào)錯(cuò)問(wèn)題解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • MyBatis?SqlSource源碼示例解析

    MyBatis?SqlSource源碼示例解析

    這篇文章主要為大家介紹了MyBatis?SqlSource源碼示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02

最新評(píng)論