Jenkins結合.net平台工具之Msbuild


前面我們講解了關於Jenkins的一些基本知識,通過這些知識我們可以結合一些其它工具實現更為復雜的任務,本篇我們將介紹如何使用msbuild工具結合Jenkins實現構建一個.net控制台框.

首先我們打開visual studio創建一個控制台程序,叫作ConsoleBuildTest,如下圖示

 

此時,打開windows cmd輸入msbuild,如果會出現如下類似界面

則cmd可以正確找到cmd命令.如果報錯,則將以下路徑添加到環境變量的path里:

Microsoft.NET\Framework\v4.0.30319

這時候再在cmd里輸入msbuild看看能否找到msbuild,如果仍然不行,則你需要顯式地指定msbuild.exe所在位置.

如果msbuild命令可以正常工具,我們則打開jenkins創建一個名為ConsoleBuildTest的freestyle項目

Add Build step里選擇execute windows batch command,在彈出的命令框里輸入命令

其中引號里面的為要構建的項目的路徑,讀者創建項目所在的目錄可能和我的不一樣,只需要指定該項目的sln或者csproj文件即可.

這里我並沒有直接使用msbuild命令,而是顯式的指定msbuild文件所在的路徑,這是因為我的系統裝了mono,總是導致msbuild無法正確找到csc.exe文件位置,因此顯式指定.當然如果小伙伴們沒有裝vs 2017或者版本跟我的不一樣,則不能在相同的路徑下找到msbuild.exe,如果你不知道msbuild.exe在什么位置,推薦你搜索everything然后下載everything,在everything里輸入msbuild.exe,則everything會列出所有msbuild,.exe所在的位置

 

創建完成任務,我們點擊build now按鈕,如果配置沒有錯誤,則生成一條構建記錄.

點擊構建記錄進入詳情頁,然后點擊console output,你將會看到如下圖示控制台輸入內容

此時你打開項目目錄下的bin/debug目錄將會看到已經構建好的內容.

點擊consoleTest.exe,將會出現以下窗口

可以看到控制台程序正常運行並輸入helloworld.

這時候如果你手動按下了f5或者在visual studio里點擊了生成,你就會納悶,這項目是Jenkins生成的呢還是visual studio生成的呢,為了消除疑惑,我們更改msbuild參數指定生成目錄(默認生成在bind\debug目錄下)

我們點擊左側的configure進入項目編輯模式,我們把命令內容更改為如下

 

和上一次的不同之所在於我們指定了outdir為bin\mydebug(不需要手動創建mydebug目錄,msbuild生成的時候如果不存在會自動創建)

我們再次點擊Save保存項目.然后再次點擊Build Now.

如果沒有錯誤,則會有一個成功的生成記錄.打開項目下的bin目錄你將會看到一個MyDebug目錄

注意這里的第一個坑,雖然上面的代碼比較亂,但是也不要使用回車來分行讓它顯得更整潔,否則生成時可能報錯.

從前面的不指定構建目錄默認生成在debug目錄下可以看到,如果不指定生成模式,則默認生成debug項目,但是正式環境我們是要生成realease的,如何指定realease模式呢,

繼續修改項目,把配置設成如下

 

如果生成成功,則會有一條成功記錄,console output如下

打開目錄下的bin目錄,你會看到多了一個MyRealese文件夾,正是我們剛才指定的


免責聲明!

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



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