Jenkins持續集成 入門實踐

本文測試環境: ASP.NET MVC項目,Windows 7環境,SVN代碼倉庫, MSBuild,TortoiseSVNjava

持續集成這種工具不少了,Jenkins比較經常使用,他的原理就是一個服務,有一個管理網站,能夠去你指定的代碼倉庫獲取代碼文件,能夠設置何時,什麼狀況下去觸發,到倉庫獲取文件。通常的用法是開發者commit代碼到倉庫時,Jenkins獲取最新的代碼,編譯生成發佈,執行單元測試等,copy到測試環境(部署),這一整個過程的自動化執行,而且伴隨開發過程當中的代碼提交,這個過程一直在執行,Jenkins就是這樣一個工具。這樣作的目的是,一個項目有N個模塊時,每一個人只開發本身的一些模塊,每完成一次提交,經過持續集成就能檢測整個項目系統的狀況,防止等到最後發現某一個模塊有問題。試想一下,一個設備有N個零件組成,當設備在組裝時已經確認全部零件是合格的,由於每一個零件完成時都作了嚴格的測試。若是有零件不合格,到組裝成品時才發現,這個影響就大了。windows

Jenkins的安裝,沒什麼好說的,官方下載,按跟說明作就好了(須要java環境)。安裝完須要安裝一些插件,注意Jenkins有N多的插件能夠選擇,我這裏安裝了MSBuild, Subversion等,有些插件是有依賴項,它會自動安裝相關的依賴。工具

 

安裝完須要的插件後,就能夠添加任務了。錄入任務信息,設置源代碼倉庫的位置、賬號,怎麼觸發,怎麼構建等等。單元測試

由於我上面只安裝的subversion,這裏會出現一個subversion的選項,配置好項目的SVN地址,SVN訪問賬號等。其它Jenkins下面還有Git等其它插件。測試

觸發設置,就是在什麼狀況下Jenkins從代碼倉庫獲取文件,注意看這裏有好幾個選項,點擊?圖標有提示。常見的有Jenkins去輪詢SVN是否有新的提交(SCM),若有則執行;還有一種是在SVN端設置一個觸發鉤子,當有新的提交時通知Jenkins。這裏使用SCM方式,日程表就是輪詢的頻率設置,這個和Linux裏的Contab表達式是同樣的,此處爲週一到週五天天的9:00到18:00,每隔5分鐘輪詢一次。網站

拿到代碼之後,如何構建,這個就是重點了,我這裏是.NET項目,那就用MSBuild工具來編譯生成了,其它平臺有對應的插件和工具,關於MSBuild是一個很是強大的命令行工具,能夠查詢MSDN或MSBuild /h查看詳情。ui

注意看這裏的構建步驟,能夠有不少個,你能夠根據實際狀況,前後順序來作不少步的處理,能夠把相關的操做放到一個bat或者ps1腳本里來處理,我這裏處理步驟是下載完源代碼後,先還源nuget引用 (這裏使用了nuget官方提供的windows上的命令行工具nuget.exe),而後調用MSBuild編譯生成。這一步的配置,能夠先在命令行測試一下。(後面的發佈,測試,部署我尚未試)插件

任務添加完以後,就能夠在Jenkins裏自動執行了,或者點擊「當即構建」測試一下。命令行

 點擊構造記錄,能夠查看本次運行的詳細信息,還能夠看控制檯輸出等信息。3d

相關文章
相關標籤/搜索