w

FajneFajne Dobre!Dobre! ŚwietnieŚwietnie

Nexus – Manager Repozytoriów, Który Przyniósł Ulgę Niejednej Organizacji

sonartype nexus 3

Nexus to menager repozytorium npm, Docker Hub i Maven repository w jednym!
Z jego wykorzystaniem możesz utworzyć centralny punkt dystrybucyjny oprogramowania i współdzielić go z członkami swojego zespołu.

Nexus – Przykład wykorzystania

Kilka lat temu pracowałem w firmie zajmującej się tworzeniem informatycznych rozwiązań prawnych. System był bardzo rozległy, a nad samym rozwiązaniem pracowało blisko 250 specjalistów IT.

Tworzyliśmy rozległy system składających się z wielu modułów. Kilkanaście zespołów odpowiedzialnych było za tworzenie bibliotek, narzędzi, tooli, które były współdzielone pomiędzy modułami.

Zespół A wydał bibliotekę, z której zespół B również potrzebował skorzystać. W jaki sposób, więc najwygodniej współdzielić gotowe rozwiązania programistyczne pomiędzy zespołami?

Jednym z najpopularniejszych i najwygodniejszych narzędzi do tego służących jest Nexus. Pozwala on na stworzenie repozytorium:

  • artefaktów Javowych,
  • obrazów Dockerowych,
  • paczek Kubernetesowych,
  • paczek npm,
  • oraz innych, których pełną listę znajdziesz w dokumentacji sonatype.

Dzięki takiemu rozwiązaniu zapewnisz infrastrukturę dzięki której developerzy będą mogli publikować skompilowane rozwiązania, a odbiorcy będą mogli automatycznie pobierać wybrane wydanie rozwiązania.

Nexus i Docker

Często w ramach firmy w jakiej pracujemy mamy konieczność udostępeniania obrazu dockerowego innemu developerowi czy nawet zespołowi. Jest na to kilka podejść, które szerzej omawiam w tym materiale:

Jednak jeśli chcemy zorganizować własne repozytorium w ramach naszej organizacji, to zdecydowanie jednym z najlepszych sposobów będzie postawienie własnej instancji Nexua. Sami zarządzamy polityką publikowania oraz dystrybucji obrazów.

O tym jak uruchomić własną instancję servera Nexus 3, oraz skonfigurować go na potrzeby udostępniania obrazów Dockerowych prezentuję w poniższym materiale.

Oczywiście pokazuje też przykład jak wrzucić i pobrać przykładowy obraz, aby upewnić się, że całe rozwiązanie dobrze się sprawdza.

Nexus – pełna automatyzacja

Możesz skonfigurować własny proces dystrybucji obrazów. Wykorzystując CI/CD np. Jenkinsa jesteś w stanie skonfigurować scenariusz w ramach którego definiujesz następujące kroki:

  1. W momencie pusha nowego kodu do repozytorium zbuduj na jego podstawie obraz Dockerowy.
  2. Obraz Dockerowy umieść w repozytorium Nexus, odpowiednio go otaguj i wygeneruj dokumentację.
  3. Dokonaj skanu bezpieczeństwa obrazu pod kątem potencjalnych podatności.
  4. Dokonaj natychmiastowegowdrożenia na podstawie obrazu dockerowego na instancję developerską i codziennie o 2:00 w nocy na instancję stage.

Podsumowanie możliwości dostarczanych przez menagera repozytorium Nexus

Nexus 3 daje duże możliwości i sprawia, że praca zespołów developerskich jest płynna. Mamy centralny punkt w ramach którego możemy sprawdzić jakimi wersjami oprogramowania dysponujemy i automatycznie pobierać najnowsze zmiany, gdy tylko równoległy zespół wyda najnowsza wersje swojej paczki.

Oczywiście zastosowań jest znacznie więcej i z pewnością dzięki temu menagerowi można znacznie ułatwić i usprawnić proces wydania oprogramowania.

Napisane przez Przemysław Bykowski

Aktywny programista i energiczny trener. Specjalizuje się w Spring Boot i uczę go w ramach AkademiaSpring.pl. Po godzinach udzielam się na YouTubach. Więcej o mnie.

Dodaj komentarz

Książka Spring

W Końcu Wyczekana Premiera – Spirng Boot Livebook! Czemu Zajęło Mi To 3 Lata?