2014-04-09 39 views
1

我有下面的一組項目的TeamCity: dependency graph in TeamCity如何處理TeamCity中的分支和依賴關係?

我需要創建一個Dev分支的數據訪問項目WebAppX。但WebAppY必須保留對DataAccess生產分支的引用。如果我使用nuget來管理我的依賴關係,那麼讓WebAppX在將WebAppY保留在同一個包中的同時更新包的最佳方式是什麼?

現在我正在使用子模塊來解決問題,而不是使用Nuget。因此,我有一個存儲庫,其中包含DataAccess的二進制文件,並將其作爲WebAppX和WebAppY中的子模塊提供。用這種方式來控制我的依賴版本似乎更容易。但我想使用NuGet並利用TeamCity提供的設施。

處理共享依賴關係的更好方法是什麼?

回答

1

TeamCity將允許您設置dependency build chains,這樣當Commons進行代碼更改時,它將構建並觸發Data Access中的構建,等等。

至於NuGet,你只需要指定你的應用程序可以支持的依賴的version or version ranges。例如,DataAccess版本2.x可能支持專業共享1 & 2:[1.0,3.0)

我還沒有用NuGet完成這項工作,但與Maven一樣,它非常相似。當構建成功完成時,TeamCity將這些構件部署到我使用Artifactory的Maven存儲庫中。 Maven + TeamCity將允許您在聲明的依賴關係發生變化時觸發構建,我期望他們對NuGet具有相同的功能,但這只是一種猜測。

我希望你能指出正確的方向。

+1

感謝您的回答。依賴項構建鏈在服務器將構件傳遞到下一個構建時非常有效。但是它在開發人員機器上不起作用,我需要像NuGet這樣的東西來檢索軟件包。我想我會研究Maven如何工作以查看是否可以使用NuGet執行我的實現。 –

+0

我們確實有一些解決NuGet依賴的c#構建,但是到目前爲止,我們還沒有部署任何我們自己的。從我看過的以及我在NuGet和NuSpec上閱讀的內容中,我認爲它以很多方式爲Maven建模,但在實現方面存在明顯差異。 – Damon

+0

謝謝,我會研究它。 –