Jenkins+Git 持續集成


持續集成是必要的!

希望達到的效果是:開發同事簽入代碼后,對應的站點可以自動實現更新。目前還只在在內部服務器上實現開發環境中的站點更新,不涉及到線上的發布。
目前使用Jenkins實現這樣的持續集成。

准備環境

  1. 如果機器上沒有Git,需要先安裝下

  2. 如果機器上沒有安裝過VS,安裝下MSBuild,或者直接在本機拷貝

  3. 下載Jenkins(用的是Weekly Release,更新比較快),一路安裝,安裝完成后會自動打開localhost:8080,開始啟動(如果啟動過程中出現503錯誤,可以試下重啟Jenkins服務)

  4. 安裝相關插件(MSBuild Plugin 和 Git Plugin對我們來說是必需的)

Job設置

  1. MSBuild設置
    在 Jenkins > 系統設置 > Global Tool Configuration 中設置

  2. 創建一個Job

  3. 源碼管理配置
    設置:Repository URL(Git地址)、Credentials(憑證,https方式的話就是用戶名加密碼,點擊后面的“Add”增加)。

  4. 構建配置
    先需要執行下NuGet還原,下載項目相關的dll,不然無法編譯通過。(如果機器上沒有nuget.exe,需要先載下,C:\Program Files (x86)\NuGet\是我們nuget.exe的位置)。

cd C:\Program Files (x86)\NuGet\
nuget.exe restore "C:\Program Files (x86)\Jenkins\workspace\Test\****\****.sln"

將Command Line Arguments,設置為:/t:Rebuild /p:Configuration=Release;PublishProfile=GTWL;DeployOnBuild=true,其中PublishProfile=GTWLGTWL是項目發布配置文件的名字。

  1. 構建觸發器配置
    如果要實現代碼簽入自動編譯發布需要這樣設置下

    同時需要配合上Git服務器的webhook功能,POST的URL設置為,http://jenkins:8080/git/notifyCommit?url=https://git.oschina.net/****/****.git,這樣代碼一簽入,Git服務器便會請求這個地址,觸發了Job。
    也可以直接在瀏覽器上試用下,地址欄直接輸入:http://localhost:8080/git/notifyCommit?url=https://git.oschina.net/****/****.git,會發現Job確實就執行了。
    不過因為我們是內部服務器,Git服務器不方便直接請求,所以只能退而求其次,定時去觸發Job了。下面是每20分鍾執行一次,好像最少是每分鍾一次。

參考資料:

  1. 用MSBuild和Jenkins搭建持續集成環境:http://www.infoq.com/cn/articles/MSBuild-1
  2. 園友,Jenkins持續集成 & .NET:http://www.cnblogs.com/capqueen/p/JenkinsOne.html
  3. 園友,使用jenkins配置.net mvc網站進行持續集成一:http://www.cnblogs.com/jiekzou/p/5255081.html
  4. hook:http://stackoverflow.com/questions/12794568/how-to-configure-git-post-commit-hook


免責聲明!

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



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