我們有幾個項目,並且彼此之間有依賴關係。例如,我們有一個依賴於項目foo的項目欄。 foo項目是我們希望包含在所有其他項目中的SDK(基礎庫),因爲我們發現我們一次又一次地解決了同樣的問題。如何使用TeamCity包含另一個項目中的另一個項目的DLL
目前項目foo和bar是獨立構建的,bar項目有對foo.dll的引用,它存儲在SVN的bar \ lib文件夾中。因此,如果我們對foo項目進行任何更改,那麼我們必須採取最新的構建,檢查欄項目並複製新的DLL並再次提交。這是一個小手冊,煩人。特別是因爲我們現在有大約3或4個依靠foo圖書館的項目。
我不想把所有東西都放在一個解決方案中,因爲這看起來有點愚蠢。 foo項目不應該經常更改並提供SDK。他們不相互關聯。我們已經將相關項目集中在解決方案中。我們有一些解決方案,已經有4-5個項目與他們的測試項目。把所有東西放在一起會產生一個40-50個項目的解決方案,這看起來像一場噩夢。
我想用TeamCity實現的是,如果對Foo進行了任何更改,它會使用更新後的Foo DLL自動觸發一個新的欄版本。這樣,如果有人做出突變,我們立即找到。然後,罪魁禍首必須解決他的錯誤提交或在所有依賴項目中進行必要的更改。
到目前爲止,我們已經完成了大部分解決方案構建在TeamCity中,運行單元測試和創建工件。我試圖在foo構建的bar構建配置中設置工件依賴項。這應該將foo \ build \ release \ foo.dll複製到bar \ lib \ foo.dll中。我們現在得到錯誤,說明
Failed to resolve artifact dependency xxx ... java.io.FileNotFoundException ... Access Denied
什麼是做我們正在嘗試的最佳做法?我們正在走正確的道路嗎?如果我們正在以正確的方式來解決這個錯誤?
+1。謝謝 – uriDium 2011-12-20 08:38:33