2011-08-18 18 views
16

Obecnie używamy FTP do utrzymywania dystrybucji artefaktów i produktów innych firm (tylko do użytku wewnętrznego).Polecenie Utwórz menedżera repozytorium artefaktów

Artefakty to dokumenty (HTML/pdf/chm/...), biblioteki libs (.dll/.so/.a/.jar/...), programy (.exe/.jar/...) i wszystko inne. Nie są ograniczone do Java/.NET i mogą pochodzić z różnych kultur (oprogramowanie układowe, sterownik, telefon/stacja robocza, GUI, Win/Linux/Mac/Solaris/AIX, ... itd.).

Aby orginize hierarhy używamy takich ścieżek:

 
ftp://3pp/VENDOR/PRODUCT/VERSION/... 
ftp://3pp/opensource/PACKAGE-x.x.x.tar.bz2 
ftp://dist/PRODUCT/VERSION/... 

Aby zachować opis artefaktów używamy README i ZMIANY zwykłe pliki testowe (reStructuredText).

Czego brakuje w tym schemacie?

  • Brakujące uprawnienia (każdy może uszkodzić miejsce do przechowywania).
  • Brakujące śledzenie zależności (tak każdy plik kompilacji musi zostać zaktualizowany, jeśli zmieni się zależność wersji).
  • Brakująca aktywność pobierania (niektóre pliki nie są już potrzebne, ale nie wiemy, które).

Nie szukam głęboko istniejących rozwiązań. Jakiś menedżer pakietów, taki jak rpm/dpkg, słyszał o rewirze Maven itp.

Zalecamy tworzenie menedżerów repozytorium artefaktów. Również dobrze jest usłyszeć wady i ograniczenia.

UPDATE

Odpowiedz

39

Tworzysz niestandardowe repozytorium artefaktów oprogramowania.Istnieją trzy projekty open-source, które już to zrobić: wersje również zapłacili

Artifactory i Nexus.

Możesz przechowywać wszelkiego rodzaju pliki w tych repozytoriach i nie musisz używać Maven. Możesz ręcznie wdrożyć do nich artefakty. Możesz ustawić szczegółową kontrolę dostępu. Dobrze integrują się z automatycznymi narzędziami do kompilacji.

Myślę, że użycie jednego z tych narzędzi zaoszczędziłoby Ci wiele wysiłku!

Here 's dość nieobciążona (wspólnota napędzana) macierz porównania pomiędzy trzema.

+1

** Apache Archiva ** to tylko świat związany z Java ... – gavenkoa

+1

To narzędzie jest zintegrowane ** tylko ** z narzędziami do budowania Java ... – gavenkoa

+20

Absolutnie nie jest prawdą. W tych repozytoriach można przechowywać dowolny artefakt oprogramowania typu. Java może mieć najbardziej dojrzałe narzędzia, ale nie ma żadnych ograniczeń, które uniemożliwiałyby korzystanie z tych repozytoriów za pomocą innych technologii. Zapoznaj się z książką Sonatype na temat zarządzania repozytorium, aby dowiedzieć się, jak działa repozytoria artefaktów i jak możesz je zintegrować z obiegiem pracy. http://www.sonatype.com/books/nexus-book –

0

z SVN + Apache (mod_dav_svn.so, mod_authz_svn.so) wydaje mi się: tylko

  • Anonymous czytać dostęp przez protokół HTTP z szerokim r ange z obsługiwanych klientów do pobrania (wget/curl z GNU Make, zadanie dla Apache Ant).
  • Łatwy w utrzymaniu dostępu do zapisu dla użytkowników/grup (łatwa składnia):

     
    [repo:/path] 
    user = rw 
    

    poprzez mechanizm zwłok.

  • Integracja z LDAP.

  • Historia wydań (kiedy, co i kto).
  • Praca atomowa (zapobieganie jednoczesnym wydaniom i wycofywanie w przypadku błędów).
Powiązane problemy