[英]Continuous integration with GitHub
當前,我們正在使用TFS作為源控件。 我們已經配置了與TFS的持續集成及其正常運行。 但是現在我們決定將我們的項目移至GitHub。
它的ASP.NET MVC項目,我們已經有了Msbuild的proj文件,該文件可以構建項目並創建輸出。 現在,當有人將代碼推送到遠程存儲庫時,我們需要以某種方式自動運行proj文件。 我不用擔心部署代碼。
我看到GitHub有2個選項:
Webhooks:我想我們必須創建自己的服務來接受“ POST”請求,然后將該服務托管在我們自己的構建服務器上。 該服務將負責將最新代碼拉入構建服務器上的本地存儲庫並執行proj文件。
GitHub上可用的集成工具很少,但我不確定哪個可以與MSBUILD一起使用。 關於集成工具,特別是針對ASP.NET MVC項目的任何建議? https://github.com/integrations/feature/build
關於這兩種方法有什么建議嗎?
如果您使用的是TFS Build 2015 ,只需單擊幾下即可 :
如果您不打算使用TFS Build,但要選擇其他構建服務器,則市場上有很多選擇。
例如,您可以選擇AppVeyor 。 這是一種雲CI服務,已與GitHub進行了現成的集成,可以輕松構建.NET解決方案。 它使用WebHooks觸發構建過程。
假設您要擁有自己的CI服務器。 作為.NET的解決方案,我可以推薦TeamCity ,但您也可以使用Jenkins。 兩者都與GitHub集成,並且都可以構建.NET代碼。
我對TC更加熟悉,所以我將解釋如何配置它。
您可以在此處找到分步示例。 它有點過時了(該文章寫於2013年),但這仍然是一個不錯的教程。
+:refs/heads/*
可以。 .sln
文件的路徑。 TC的最小輪詢間隔為一分鍾。 如果您同意等待,或者您的TC實例未對公眾開放(安裝在防火牆后面),請使用此選項觸發構建。
如果您希望幾乎立即構建並且構建服務器具有公共訪問權限,則可以使用WebHook選項。 當有人按下代碼或標簽時,GitHub會通知您的CI服務器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.