Jenkins實現SVN .NET持續集成


  在工作過程中,由於經常要提版本給測試,再由測試負責發布,經常會出現,提測一個產品,需要發布多個服務,包括網站,網站的服務,網站的后台管理已經后台管理的服務。總之,一次提測,要發布的東西會非常多,開發麻煩,測試更加麻煩,所以為了解決這個問題,決定采用Jenkins來實現一鍵發布。

一、安裝Jenkins

  Jenkins下載地址:https://jenkins.io/

  選擇windows版本進行下載

  

  下載完成后進行安裝,默認安裝即可,安裝后Jenkins的訪問地址為localhost:8080,默認用戶admin,密碼位於安裝目錄的secrets\initialAdminPassword文件中。

  *安裝Jenkins之前,先檢查一下8080端口是否被占用,被占用的話,Jenkins則不能正常安裝。

二、配置Jenkins 

1.安裝插件:

  

    選擇管理插件,在管理插件中,安裝:

  Subversion Plug-in

  MSBuild Plugin

  Publish Over FTP

2.配置MSBuild:

  首先指定MSBuild在本地的路徑,以便Jenkins進行調用。在最后的參數一項中,根據自己的實際需要,進行MSBuild的參數配置。

       Jenkins中可配置多個MSBuild,以便供不同編譯環境使用。

  我使用的vs2013所以只配置了這一個msbuild。

3.配置FTP

  在系統設置中找到Publish over FTP,填寫相關參數來配置ftp的信息。

  可以配置不同站ftp信息,實現發布到多個ftp站點。

三、新建任務

  選擇第一個“構建一個自由風格的軟件項目”。

  源代碼管理選擇Subversion,填寫相關信息,如下:

  獲取源代碼時,可以指定版本進行獲取,只需在源代碼路徑后面 加上 “@版本號”,如:https://localhost/svn/SvnTest/@15

  構建環境,勾選Delete workspace before build starts,構建之前刪除工作區。

 

1.構建:

  /p:Configuration=Release    生成Release版本

  /p:WebProjectOutputDir   項目輸出位置

  /p:OutputPath     項目dll輸出位置

  *注:如果生成以后需要使用ftp進行發布的話,請將項目生成到\Jenkins\workspace\中去。同時路徑中存在空格時,要在路徑上加上雙引號,否則會出先報錯:

  MSBUILD : error MSB1008: 只能指定一個項目。

  例如:

  /p:WebProjectOutputDir="C:\Program Files (x86)\Jenkins\workspace\ TestPub \Build"

  /p:OutputPath="C:\Program Files (x86)\Jenkins\workspace\ TestPub\Build\bin"

  

2.通過FTP發布

         點擊增加構建后操作步驟,並選擇下圖紅框內的選項。

  在Send build artifacts over FTP中,選擇之前配置好的FTP信息進行FTP傳輸。

   Source files:表示當前上傳的文件位置,該位置默認根目錄為“Jenkins\workspace\項目名”文件夾。

   Remove prefix:表示上傳時,是否排除忽略某些文件夾。如上圖中,如果該項為空,則在FTP指定位置上傳Build文件夾及其內容。

  點擊Add Transfer Set,配置需要替換的特殊內容:

  作用:例如,從svn獲取到的項目配置為開發環境的配置,但是,發布測試環境需要測試環境的配置文件,這樣只需要提前提前配置好的文件,而不需要人為去修改配置文件,就可以實現一鍵發布,同時減少人為修改配置出現錯誤的幾率。

  *注:在服務器配置ftp時,要啟用基本身份驗證,否則Jenkins連接ftp時會不能通過驗證。

  *注:FTP發布的文件禁止出現中文,否則會報錯 

  ERROR: Exception when publishing, exception message [Could not write file. Server message: [550 The filename, directory name, or volume label syntax is incorrect.]]

四、配置多任務項目

  很多時候,我們發布的並不是單個項目,而是一組相關的項目才能完成一輪測試,所以我們可以將不同的單個任務組合成一個項目進行發布。

   步驟如下:首先下載插件

    Multijob plugin

  然后創建一個MultiJob Project

 

 

 

  其他不需要管,只需要配置構建,選擇MultiJob Phase,填入已經配置好的Job就可以了。

  到此配置就全部結束了,只需要去點擊立即構建就可以了。注意控制台的輸出。

 

  

 


免責聲明!

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



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