我一直負責更新公司過時的構建過程。它全部在批處理和perl腳本中完成。目前的構建過程如下:TFS構建和本地構建
- 通過Web界面安排構建。
- 構建服務器將構建過程從隊列中取出。
- 構建服務器檢出TFS源代碼管理中的所有文件。
- 構建服務器運行一些代碼注入腳本,在構建之前修改源代碼。
- 構建服務器更新版本並簽署代碼。
- 構建服務器使用visual studio編譯項目。
- 完成後,構建服務器將輸出壓縮並將其放入網絡共享位置。
真正困難的部分是代碼注入腳本。它們是修改大量代碼的3個Perl腳本。它們的設計方式也非常依賴機器。 (所以我不能在沒有很多修改的情況下將它們放入構建過程中)
我的最終目標是能夠在本地開發機器上運行構建過程,並且還在TFS服務器上運行CI。
在我的搜索似乎沒有辦法模擬本地機器上的TFS生成。那麼我的唯一選擇是在我的cs.proj文件中使用pre/post-build命令行腳本嗎?還是有更好的方法在本地機器上執行復雜的構建,並在TFS上運行相同的構建?
我看過Using TFS build definitions on a local machine,但這對我來說似乎有點不好意思。如果沒有更好的解決方案,我想這不是一個可怕的解決方案。
感謝您的回答。我認爲我的遊戲計劃將會是1和2的混合體。我將創建一套通用的MSBuild腳本,這些腳本是應用程序基本構建所需的。這些常用腳本將在服務器和本地上運行。這將允許開發人員在本地機器上構建和調試應用程序。然後我將擁有一些只能在服務器上運行以進行發佈類型任務的自定義活動。 (版本更新和代碼簽名等)除MSBuild腳本之外,還將運行這些腳本。 –