Artifactory - náhrada Maven Proxy?

Kdo někdy nasazoval Maven2 pro vnitrofiremní použití, možná se setkal s aplikací Maven Proxy od Codehausu. Od vydání verze 0.2 již uběhlo přes rok a Maven Proxy neutrpěla žádnou aktualizaci, zato se však objevila nová konkurence v podobě Artifactory od JFrog. Již základní sada funkcí dostupná v Maven Proxy dostatečně obhájí náklady s jejím zavedením, Artifactory však předbíhá Maven Proxy vlastnostmi, které ocení především větší organizace. Jak sami autoři popisují, začínali sami s Maven-Proxy. Ve chvíli kdy její možnosti přestávaly stačit, začali si je dodělávat a došli do stavu, kdy jich prostě bylo tolik, že nebylo myslitelné "propašovat" je do původní Maven-Proxy.

Instalace a konfigurace by měla být stejně jednoduchá jako je tomu u Maven Proxy - v podstatě jen rozbalení adresáře, který již v sobě obsahuje Jetty. Samozřejmě Artifactory lze deploynout již do existujícího aplikačního serveru. Pro ukládání artefaktů používá databázi Derby (o persistenci se stará JackRabbit - content repository dle JSR 170). Nicméně má plně funkční export / import z / do filesystem reprezentace Maven 2 repository.

Čím se tedy Artifactory chlubí?

  1. možností více "lokálních repository" pro rozdělení knihoven různých třetích stran i pro rozdělení vlastnoručně sestavovaných knihoven (např. na snapshot nebo ostré verze)
  2. možností deploynutí nové knihovny přes web rozhraní do vybrané lokální repository
  3. možností pravidelné zálohy knihoven
  4. zabezpečení přístupu ke knihovnám (read / write), včetně možnosti správy skupin uživatelů atd.
  5. velmi komportní webový přístup k repository využívající síly Ajaxu (zkuste si demo - guest/guest)
  6. vyhledávání v repository ala http://mvnrepository.com/ s možností vykopírovat si rovnou kousky XML pro vložení dependency do pom.xml
  7. kompletní možností administrovat obsah repository přes web - tedy odstraňování artefaktů, refresh cache u daného artefaktu atp.
  8. při konfiguraci "remote repository", které tato "proxy" imituje možnost lépe nastavovat timeouty, filtry na dotahování např. jen některých knihoven (hodí se např. pro zavedení vnitrofiremní politiky zákazu používání snapshotů knihoven třetích stran)
  9. a že by také větší aktivitě při zavádění nových featur a oprav chyb než je tomu u Maven-Proxy?!

Sám jsem ocenil přínos původní Maven-Proxy, pokud bych však teď měl instalovat podobný nástroj, šel bych spíše cestou komfortnějšího Artifactory. Možná by stálo za úvahu zvážit i přechod z původní Maven-Proxy, díky importní funkci by to mělo být velmi jednoduché. Každopádně uvidíme, jak se budou chlapci z JFrog tužit dál.