Node.js項目的持續集成
來自: http://www.moye.me/2016/03/03/nodejs_ci_by_jenkins/
引子
持續集成 ( Continuous Integration ,簡稱CI)是一種軟件工程實踐:項目需要經常性的集成(每天發生若干次)成員的工作成果。這個集成的動作五花八門,可能涉及但不限于:
- 運行測試
- 編譯/構建
- 打包/發布版本
每一次集成都會有一個結果,成或者敗:
- 成 -> 將得到一個可用的成果
- 敗 -> 反映出項目中的問題,解決這個問題將成為項目中優先級最高的任務
CI的價值可謂不言而喻。
Jenkins CI
Jenkins 是一個開源項目,提供了一種易于使用的持續集成系統,使開發者從繁雜的集成中解脫出來,專注于更為重要的業務邏輯實現上。同時 Jenkins 能實施監控集成中存在的錯誤,提供詳細的日志文件和提醒功能,還能用圖表的形式形象地展示項目構建的趨勢和穩定性。下面將介紹 Jenkins 的基本功能及如何結合到Node.js項目。
安裝Jenkins
Jenkins 的安裝非常簡單,只需在官網下載最新的 .war 文件,以命令行方式運行:
Shell
java -jar jenkins.war --httpPort=8080
java -jarjenkins.war --httpPort=8080</div>
Jenkins 將運行在 http://localhost:8080 ,我們可以在瀏覽器上進行各種可視化的管理。在集成我們的源碼項目之前,先做一些準備設置:
安裝Nodejs和Git插件
1.沿菜單路徑進行選擇:
系統管理 -> 管理插件 -> 可選插件
2.選取 NodeJS Plugin 和 Github Authentication plugin ,點 【直接安裝】。
3.安裝完成后,進入:
系統管理 -> 系統設置
4.設置 Git 路徑信息:
5.設置 Nodejs 路徑信息:
集成Github上的Node.js項目
1. 新建一個自由風格的軟件項目:
2. 配置Git倉庫,并提供帳號信息,以便Jenkins以自動抓取源碼版本:
3.配置構建環境,將Nodejs環境變量導入到Jenkins運行時
4.配置構建時執行的Shell腳本
可以看到,這一步就是【構建】的實質所在:
- 導出程序用的環境變量
- 包的安裝
- 執行測試
此外,還可以為項目配置觸發器,諸如:cron定時執行/做為其他項目構建的后續動作等。當然,不配也可以,直接點擊【立即構建】,然后進入此次構建的詳情頁,通過Console Output 項查看構建的實時輸出:
任何時候,項目都會顯示最近一次的構建狀態,并且提供詳細的構建歷史:
小結
本文僅是簡單介紹了持續集成的概念,以及如何快速構建Jenkis + Nodejs + Github 的持續集成環境。但Jenkins 的功能遠不至文中所述的這些,Jenkins 還有詳盡的日志處理和持續集成構建狀等功能。拋磚引玉,愿能與大家一起繼續探索。
</div>