Mój zespół korzysta z wewnętrznego repozytorium Team Maven, które jest udostępniane z serwera programistycznego przy użyciu Apache. Uruchamiamy również serwer Continuum CI na tej samej maszynie. Kompilacje Maven w Continuum są uruchamiane z celem „instalacja”, który kopiuje ostateczny artefakt bezpośrednio do katalogu współdzielonego.
Pytanie brzmi, jaka jest różnica między dodawaniem plików do udostępnionego repozytorium przy mvn install
użyciu celu wdrożenia (wtyczka mvn-deploy) a użyciem?
Wydaje mi się, że używanie mvn deploy
stwarza dodatkowe kłopoty z konfiguracją, ale czytałem gdzieś, że instalowanie plików do udostępnionego repozytorium jest złym pomysłem z jakiegoś powodu związanego z wewnętrznym działaniem mavena.
aktualizacja: dostaję funkcjonalne różnice między deploy
i install
; Właściwie bardziej interesują mnie szczegóły niskiego poziomu dotyczące tego, jakie pliki są tworzone w repozytorium maven.
mvn deploy
? Jakie korzyści daje dodatkowa konfiguracja, która była wymagana w pierwszej kolejności?Z dokumentacji Maven wygląda na to, że to tylko różnica w tym, w którym repozytorium zainstalujesz pakiet:
Może jest jakieś zamieszanie w tej „instalacji” na serwerze CI, który instaluje go w swoim lokalnym repozytorium, które następnie udostępniasz jako użytkownik?
źródło
„matt b” ma rację, ale mówiąc konkretnie, cel „instalacja” kopiuje zbudowany cel do lokalnego repozytorium w systemie plików; przydatne w przypadku małych zmian w projektach, które obecnie nie są przeznaczone dla całej grupy.
Cel „Wdrożenie” przesyła go do współużytkowanego repozytorium po zakończeniu pracy, a następnie może być udostępniony innym osobom, które tego potrzebują w swoim projekcie.
W twoim przypadku wydaje się, że „Install” jest używany do zarządzania rozmieszczenia łatwiejsze, ponieważ lokalne repo USK jest wspólna repo. Gdyby CI znajdował się na innym pudełku, musiałby użyć celu „wdrożenie”.
źródło