[CI] 使用Jenkins自動編譯部署web應用


寫在前面

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

持續集成

持續集成是一種軟件開發實踐,即團隊開發成員經常集成它們的工作,通過每個成員每天至少集成一次,也就意味着每天可能會發生多次集成。每次集成都通過自動化的構建(包括編譯,發布,自動化測試)來驗證,從而盡早地發現集成錯誤。

Jenkins

Jenkins是基於Java開發的一種持續集成工具,用於監控持續重復的工作,功能包括:
1、持續的軟件版本發布/測試項目。
2、監控外部調用執行的工作。

更多信息請戳官網

安裝

網上有很多Jenkins安裝配置教程,詳情請戳Jenkins安裝與配置

開始一個DEMO

背景

Jenkins運行在Linux服務器上,嘗試在此服務器上編譯並部署一個web應用,編譯過程需要node環境,編譯后文件需ssh到測試服務器

Jenkins主要完成任務如下:
1、自動集成編譯環境
2、線上編譯應用
3、ssh到目標環境並運行

新建一個Job

登錄進入Jenkins,可以看到當前所有已集成項目的構建情況;
1、點擊左上角的【新建】,創建一個新任務

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

3、選擇完畢,點擊【OK】,回到首頁,發現創建的Job已顯示在列表中

配置編譯環境

在這個過程中,我們需要為應用配置基於node的編譯環境。
關於安裝node,一般可以下載執行文件安裝或編譯源碼安裝,而通過Jenkins,我們則可考慮使用其提供的插件進行自動安裝
1、選擇系統管理->管理插件

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

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

4、進入后,擼到底部,發現全局可用工具中已經出現了NodeJS的配置項
5、插件支持多種方式安裝nodeJS,點擊[新建安裝],選擇習慣的安裝方式即可,此處給出從node官網下載並安裝的配置

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

配置構建過程

在這個過程中,我們可以配置構建所需的參數,用來指明構建的位置(從哪個分支/哪個版本...)或其他一些狀態;並通過命令執行構建。
1、通過列表進入Job詳情,開始相關配置;
2、【General】一欄需要配置項目基礎信息和一些構建需要的參數。選擇【參數化構建】,此構建方式允許我們自定義構建過程中的參數。如下:配置一個branch參數,用於指明要構建的git分支

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

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

5、線上編譯完畢,下面將build完成的文件發送至目標環境(測試環境/生產環境)。繼續在【構建】一欄中添加配置,指定目標環境相關信息;命令行配置ssh后的一些操作(解壓文件,並刪除壓縮包)

執行構建

至此,整個構建的配置算是基本完成,下面開始構建。
回到列表頁,點擊構建即可:

可以看到構建歷史列表中顯示當前構建的進度

點擊左側圓形按鈕,即可進入控制台查看輸出
構建完畢后,可以通過列表中的晴雨狀態查看構建結果

結語

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM