2012-03-23 51 views
5

我在一個項目上設置一個ant構建系統,依賴項解析由ivy管理。我已經啓動並運行當前用於本地和共享存儲庫的文件系統。我的最終目標是,當開發人員修復錯誤或創建新功能時,他們只能將工件放入其本地存儲庫。當他們相信他們的代碼已經準備好被其他團隊使用時,它會被提升到SVN的正確分支,負責官方構建的團隊將編譯和發佈新的工件。設置一個共享的常青藤資源庫

所以我想我的問題是如何控制誰可以發佈到存儲庫?常春藤只依賴文件系統權限嗎?

此外,我最終想通過http使我的共享資源庫可用。我想我可以將apache指向文件系統存儲庫目錄以檢索工件,但是如何設置發佈到http存儲庫?

回答

1

你可以在你的ivy設置文件中指定三個解析器。首先將是一個鏈式解析器,其中包括遠程和本地常春藤庫。其次是本地常青藤資源庫的本地解析器。第三個解析器僅適用於遠程常青藤庫。

每個開發人員都使用第一個鏈式解析器來檢索工件。

通常的開發人員使用第二個本地解析器發佈工件。

您的特殊團隊可以使用第三個遠程解析器發佈遠程常駐資料庫。 保護遠離常用開發人員的存儲庫將其置於(S)FTP服務器上,使用密碼進行寫保護。

在這種情況下唯一的問題是如何設置工件上的版本,以便某些情況下發布在遠程存儲庫中的工件在某些情況下覆蓋本地發佈。

我們的團隊幾年前就採用了這樣的方案。但是現在我們只使用本地常青藤資源庫和CI服務器來構建並運行來自各個分支的測試。切換到git後,我們想到了這一點。

3

我建議你設置一個資源庫管理器來管理你的項目的構建工件。

最好的選擇是下列之一:

發佈到Maven倉庫意味着你的工件可以通過使用其他項目消耗建立技術。所有現代構建系統都支持Maven(包括ivy,請參閱ibiblio resolver)。