天天看點

使用Jenkins自動編譯部署web應用開始一個DEMO結語

初步接觸持續內建自動化過程,本篇主要介紹基于Jenkins實作持續內建的方式,通過案例介紹線上自動編譯及部署的配置過程持續內建

Jenkins是基于Java開發的一種持續內建工具,用于監控持續重複的工作,功能包括: 1、持續的軟體版本釋出/測試項目。 2、監控外部調用執行的工作。

安裝

Jenkins運作在Linux伺服器上,嘗試在此伺服器上編譯并部署一個web應用,編譯過程需要node環境,編譯後檔案需ssh到測試伺服器

Jenkins主要完成任務如下: 1、自動內建編譯環境 2、線上編譯應用 3、ssh到目标環境并運作

登入進入Jenkins,可以看到目前所有已內建項目的建構情況;

1、點選左上角的【建立】,建立一個新任務

使用Jenkins自動編譯部署web應用開始一個DEMO結語

2、填寫任務名稱,建構的項目類型可根據實際情況進行選擇,本次選擇第一種即可

使用Jenkins自動編譯部署web應用開始一個DEMO結語

3、選擇完畢,點選【OK】,回到首頁,發現建立的Job已顯示在清單中

在這個過程中,我們需要為應用配置基于node的編譯環境。

關于安裝node,一般可以下載下傳執行檔案安裝或編譯源碼安裝,而通過Jenkins,我們則可考慮使用其提供的插件進行自動安裝

1、選擇系統管理->管理插件

使用Jenkins自動編譯部署web應用開始一個DEMO結語

2、可以看到,Jenkins提供了豐富的插件供開發者使用,找到我們需要的[NodeJS Plugin],勾選後點選安裝即可

使用Jenkins自動編譯部署web應用開始一個DEMO結語

3、安裝完畢後,選擇系統管理->Global Tool Configuration,配置node下載下傳及安裝

使用Jenkins自動編譯部署web應用開始一個DEMO結語

4、進入後,撸到底部,發現全局可用工具中已經出現了NodeJS的配置項

5、插件支援多種方式安裝nodeJS,點選[建立安裝],選擇習慣的安裝方式即可,此處給出從node官網下載下傳并安裝的配置

使用Jenkins自動編譯部署web應用開始一個DEMO結語

6、儲存完畢後,通過清單,進入剛剛建立的Job,找到【建構環境】,勾選Provide Node & npm bin/ folder to PATH,選擇剛剛添加的配置即可;此後當每次build,都會首先執行環境建構,環境建構無誤後,才會開始真正的建構過程

使用Jenkins自動編譯部署web應用開始一個DEMO結語

在這個過程中,我們可以配置建構所需的參數,用來指明建構的位置(從哪個分支/哪個版本...)或其他一些狀态;并通過指令執行建構。

1、通過清單進入Job詳情,開始相關配置;

2、【General】一欄需要配置項目基礎資訊和一些建構需要的參數。選擇【參數化建構】,此建構方式允許我們自定義建構過程中的參數。如下:配置一個<code>branch</code>參數,用于指明要建構的git分支

使用Jenkins自動編譯部署web應用開始一個DEMO結語

3、【源碼管理】一欄需要填寫待建構項目的源碼位址,其中【Branches to build】用來指明待建構的分支,當然,也可以選擇某個送出号,同時此處也可以使用我們在General中定義變量(詳細配置見輸入框右側的[幫助]按鈕)

使用Jenkins自動編譯部署web應用開始一個DEMO結語

4、【建構】一欄需要輸入相關指令來實作自動化建構,此過程在【環境建構】後,故我們可以編寫如下代碼執行建構

使用Jenkins自動編譯部署web應用開始一個DEMO結語

5、線上編譯完畢,下面将build完成的檔案發送至目标環境(測試環境/生産環境)。繼續在【建構】一欄中添加配置,指定目标環境相關資訊;指令行配置ssh後的一些操作(解壓檔案,并删除壓縮包)

使用Jenkins自動編譯部署web應用開始一個DEMO結語

至此,整個建構的配置算是基本完成,下面開始建構。

回到清單頁,點選建構即可:

使用Jenkins自動編譯部署web應用開始一個DEMO結語

可以看到建構曆史清單中顯示目前建構的進度

使用Jenkins自動編譯部署web應用開始一個DEMO結語

點選左側圓形按鈕,即可進入控制台檢視輸出

建構完畢後,可以通過清單中的晴雨狀态檢視建構結果

本篇簡單介紹了基于Jenkins建構的過程,Jenkins功能還有很多,會在之後的篇幅中陸續介紹。随着項目開發規模和複雜度不斷增大,持續內建是一個必然的選擇。

本文出自:http://blog.csdn.net/gavid0124/article/details/53463831

本文轉自奔跑在路上部落格51CTO部落格,原文連結http://blog.51cto.com/qiangsh/1977709如需轉載請自行聯系原作者

qianghong000