簡體   English   中英

C#/ .NET - 持續集成和FTP部署

[英]C#/.NET - Continuous Integration and FTP Deployment

注意:我是持續集成的新手

獲得這些功能的“最佳”方法是什么:

  1. 構建(程序集和Web應用程序)
  2. 測試(MbUnit或NUnit)
  3. 如果它通過測試通過FTP部署到主服務器(互聯網)。

而我所說的“最好”是最便宜的選擇,而且易於學習(低頭痛)。

我使用TeamCity和Web部署項目編寫了一篇非常詳細的博客文章,以自動化構建和部署(本地):

http://www.diaryofaninja.com/blog/2010/05/09/automated-site-deployments-with-teamcity-deployment-projects-amp-svn

我已添加到此以顯示FTP添加

http://www.diaryofaninja.com/blog/2010/09/21/continuous-integration-tip-1-ndash-ftp-deployment

基本上這個過程是這樣的:

  • 使用teamcity構建服務器,我從我的SVN倉庫下載
  • 我構建並將站點部署到構建服務器上的本地文件夾
  • 我使用MSBUILD任務EXEC( http://winscp.net/ )觸發支持腳本編寫WinSCP的命令行FTP客戶端
  • 上傳我的所有網站內容
  • 插入飲料的選擇

然后我確保我只部署SVN倉庫的Trunk,並在合並之前開發並測試分支中的所有內容 - 這樣只會測試部署的測試內容。 在您的構建周期中添加自動化測試,您就可以在天堂進行匹配。

我會和msbuild和mbunit一起進行單元測試。 對於FTP部分谷歌使用FTP進行msbuild自定義任務,你應該烹飪煤氣。

我一直使用CruiseControl ,它工作得很好,但我也聽說過TeamCity的好東西。 關於MSBuild的FTP任務(肯定是你想要的方式),有一些可以在網上找到。 當我上次檢查時(最近不是),我發現的所有內容都有一個或另一個缺點,所以我自己寫了一個(在.NET中包裝FtpWebRequest)。 雖然這可能不是最好的FTP實現,但該任務提供了我需要的功能(上傳目錄結構,遠程刪除)。 我想今天可能有可用的任務提供該功能(否則我可能只是發布我的...)

我們使用Hericus Software的Zed Builds和Bugs Manager做同樣的事情。

我們必須將.Net程序集與C ++ dll結合起來,並將整個程序包裝到一個Java安裝中(想象一下混淆:-))。 我們還使用FTP將構建的一些組件(而不是整個組件)上傳到需要構建產生的部分的其他系統。

在所有事情都被整合在一起之后,關於Zed服務器的好處是它成為我們的系統,每個人都知道從哪里獲取他們的工件。 它處理從Dev到QA到Production的升級,並在整個生命周期中跟蹤構建。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM