簡體   English   中英

使用TFS構建Java項目

[英]Building java project with TFS

我們的代碼庫中只有一小部分是一些舊版Java代碼。 我正在嘗試添加一個新的構建,該構建將調用ant來構建該項目。

第一個問題是TFS不允許您創建不構建.Net解決方案的構建。 通過復制先前的構建文件並添加EndToEndIteration任務(這是構建的入口點)來解決此問題。

問題在於,沒有填充任何通常的構建變量-$(BuildDirectory),$(SolutionRoot)-全部為空。 這幾乎意味着我必須在不對路徑進行硬編碼的情況下才能調用我的ant任務(這絕對是我做不到的)。

有任何想法嗎?

您可能想看看Teamprise Build Extensions ,它允許從TFS構建Ant或Maven任務。

  1. 如果您還沒有一個,創建一個將存儲和檢索環境變量的任務,那么您肯定需要它們執行與Java相關的任何操作(我相信MSBuild擴展包中有一個)
  2. 創建一個自定義任務來包裝Ant或使用MSBuild Community Tasks集合中的Script任務
  3. 運行一百萬次並隨時解決問題,從命令行執行此操作通常更容易,更快,因此請在終端中使用msbuild.exe結交朋友

您應該能夠在環境變量之間傳遞所需的任何信息,從而使您想做的一切成為可能。 我不會向您推薦硬編碼的路徑,但是您必須將配置放在某處,這是您要更改的內容以及組織方式的全部權衡。 如果確實需要,可以將所有配置推送到數據庫中,並使用上述鏈接中的SQL任務之一將其吸取,但是請記住,您添加了相當多的不必要的復雜性。

問你自己:

  • 該值可能多久更改一次?
  • 更改后需要完成的全部任務是什么?

將答案寫下來,並確保團隊中的每個人都理解。 在我看來,構建系統時,“少即是多”。 找到最簡單的方法,直到不能接受為止,然后再增加復雜性……TFS已經足夠復雜了。

我認為您在這里使用錯誤的工具-TFS永遠不是構建.NET應用程序以外的任何其他解決方案的好方法。 我認為您最好以獨立功能使用ant。

感謝所有的答案。

最后,我求助於在構建文件旁邊添加一個空解決方案。 這樣,所有變量都被填充,而我僅包含一個完成了我想要的所有操作的變量。

暫無
暫無

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

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