2013-07-16 42 views
2

我已經設置'Artifactory'作爲Intranet maven存儲庫。我有關於故障切換的問題。maven intranet存儲庫故障轉移重定向

項目POM

<repositories> 
    <repository> 
     <id>central</id> 
     <url>http://mvn.mycompany.com:8081/artifactory/libs-release</url> 
     <snapshots> 
      <enabled>false</enabled> 
     </snapshots> 
    </repository> 
    <repository> 
     <id>snapshots</id> 
     <url>http://mvn.mycompany.com:8081/artifactory/libs-snapshot</url> 
     <releases> 
      <enabled>false</enabled> 
     </releases> 
    </repository> 
</repositories> 
<pluginRepositories> 
    <pluginRepository> 
     <id>central</id> 
     <url>http://mvn.mycompany.com:8081/artifactory/plugins-release</url> 
     <snapshots> 
      <enabled>false</enabled> 
     </snapshots> 
    </pluginRepository> 
    <pluginRepository> 
     <id>snapshots</id> 
     <url>http://mvn.mycompany.com:8081/artifactory/plugins-snapshot</url> 
     <releases> 
      <enabled>false</enabled> 
     </releases> 
    </pluginRepository> 
</pluginRepositories> 

問題: 是否可以使用故障切換庫?這意味着..如果我的內部網庫已經關閉,那麼Maven build應該自動使用其他位置或者直接從Maven中心?

回答

2

我不確定你爲什麼期望你的倉庫被關閉,但是回落到maven central是一個非常糟糕的主意。你放棄使用企業存儲庫的所有好處,甚至不知道它,因爲沒有辦法確定你的構建依賴於哪裏。

如果您擔心存儲庫的可用性,您應該建立一個包含多個服務器的HA環境,並進行復制和備份。

如果您正在切換環境,並且一旦處於不同環境中,則來自其他Intranet的二進制存儲庫無法再訪問,您需要使用不同的配置文件切換到新環境中提供的二進制存儲庫,其中將包含不同的服務器URL(或者可能只是訪問原始服務器的代理)。無論如何 - 使用二進制存儲庫遮蔽maven中心,不要將其用作備份。

+0

這種情況一直髮生。爲什麼這會以任何方式出乎意料?存儲庫處於啓動狀態時,這一點非常重要。 – ggb667

+0

您的設置有問題。像甲骨文,CA,EMC,LinkedIn,Netflix這樣的巨大公司並不依賴於他們在Artifactory上的所有開發,而且它們對他們來說非常有效。我相信它也適用於你。你正在使用哪個版本? – JBaruch

+0

該版本不是問題,問題是我在位置A,而位於位置B的IT人員似乎無法保持電源開啓,機器插入,網絡連接正常,防火牆漏洞通過,IP地址固定,服務帳戶沒有被鎖定等等。機器被用於在地點A,並且我可以打開它並且插入並修理或調整它。但可悲的是,不再。謝謝你的專業知識,並幫助我。我似乎讓自己陷入了相當的困境。 – ggb667

1

如果在<repositories/>列表中找不到工件,Maven將自動嘗試回退到Maven Central。

+0

存儲庫存在,但有時候這些可能會下降... – gpa

+0

這是不正確的。中央存儲庫應該是用製造工具着色的。這種設置不可能達到Maven的核心。這是一件好事。 – JBaruch

+0

這是真的,如果你不替換ID爲「central」的存儲庫 – wemu