Istnieje sporo pytań i odpowiedzi, które wspominają o „ artefaktach ”.
Nie zdziwiłbym się, gdyby był w jakiś sposób związany z artefaktami .
Moje pytania :
- Czym właściwie jest „artefakt” (w kontekście DevOps)?
- Dlaczego wykorzystywane są artefakty?
terminology
artifacts
artifactory
Pierre.Vriens
źródło
źródło
Odpowiedzi:
Artifactory to produkt firmy JFrog, który służy jako menedżer repozytorium binarnego . To powiedziawszy bardzo często używa się artefaktów jako synonimu bardziej ogólnego repozytorium binarnego, podobnie jak wiele osób używa Frigidaire lub lodówki do oznaczania lodówki, niezależnie od tego, czy jest to marka Frigidaire, czy nie.
Repozytorium binarne jest naturalnym rozszerzeniem repozytorium kodu źródłowego, ponieważ przechowuje wyniki procesu kompilacji, często określane jako artefakty. W większości przypadków repozytorium binarne nie jest używane bezpośrednio, ale za pośrednictwem menedżera pakietów dostarczanego z wybraną technologią.
W większości przypadków będą one przechowywać poszczególne komponenty aplikacji, które można później złożyć w pełny produkt - umożliwiając w ten sposób rozbicie kompilacji na mniejsze porcje, efektywniejsze wykorzystanie zasobów, skrócenie czasu kompilacji, lepsze śledzenie binarnych baz danych debugowania itp.
Oto niektóre z najpopularniejszych menedżerów pakietów, którymi można zarządzać za pomocą repozytorium binarnego:
Ta lista jest daleka od ukończenia, po prostu daje wyobrażenie o tym, co tam jest.
Repozytorium binarne może obsługiwać wszystkie te elementy pod jednym dachem, co znacznie ułatwia zarządzanie zespołami. Pamiętaj, że nie potrzebujesz bardzo dużego zespołu, aby zacząć czerpać korzyści z zarządzania pakietami binarnymi. Początkowa inwestycja nie jest bardzo duża, a korzyści są odczuwalne natychmiast. Zwłaszcza teraz, gdy coraz więcej platform, środowisk i języków integruje bezpośrednio zarządzanie nimi w zależności. Ich największą zaletą, jaką znalazłem, było jednak stworzenie środowiska, które Twoi programiści znajdą w naturalny i wygodny sposób, czyniąc je niezbędnym. Pomaga Ci jako twórcom stworzyć solidny łańcuch narzędzi i pomaga dopasować ogólne wrażenia do wybranego przez siebie stosu.
Jak powiedziałem wcześniej, istnieje wiele produktów , które mogą służyć jako menedżery pakietów binarnych, niektóre bardziej ogólne niż inne pod względem docelowego wykorzystania, różniące się również znacznie pod względem dostępności i cen.
Osobiście uważam, że repozytoria binarne są tak samo istotną częścią dobrze zaprojektowanej konfiguracji devops jak repozytorium kodu źródłowego lub ciągła integracja.
źródło
Sposób, w jaki pomogło mi to zrozumieć na początku, różnica między repozytorium kodu źródłowego a repozytorium binarnym polegała na tym, aby pomyśleć o tym: * Github lub Bitbucket jest użyteczny do utrzymania całego „kodu” * Artefactory Jfrog jest użyteczny do utrzymania wbudowanego „binarnego” Przynajmniej dopóki nie czułem się dobrze z tymi warunkami!
Również znaczenie Artifactory można zrozumieć w odniesieniu do filozofii DevOps, która mówi: „Buduj raz, wdrażaj zawsze”. Ciągła integracja ma długą drogę do zbudowania pliku binarnego raz, umieszczenia go w Artifactory, a następnie wywołania go stamtąd w celu wdrożenia we wszystkich różnych środowiskach. W ten sposób jesteśmy pewni, że kod działający w Dev jest tym, który został wypchnięty do Prod i będzie tam działał.
źródło
Artifactory to produkt Binary Repository Manager firmy Jfrog .
Masz rację - będąc menedżerem repozytoriów binarnych zwykle służy do zarządzania przechowywaniem artefaktów generowanych i wykorzystywanych w procesie tworzenia oprogramowania.
Z głównej strony Artifactory :
Wspomniane zastosowania sugerują, że może być wystarczająco popularny dla ogólnego znaku towarowego w DevOps.
źródło
Myślę, że komplikowanie rzeczy jest tym, za co wszyscy są dziś doceniani. Spróbuję odpowiedzieć w skrócie na to pytanie.
Repozytorium źródłowe służy do przechowywania kodu i jego wersji, a artefactory służy do przechowywania programów wykonywalnych, które są wyjściami tego kodu [pliki binarne - pliki dll, jar, war, ear, msi, exe itp.]
Powodem, dla którego chcesz umieścić je osobno w repozytorium innym niż kod, może być wiele - od bezpiecznego dostępu, zagrożenia hakowania, wpisywania złośliwego kodu lub po prostu oddzielnej drogi dla klientów, którzy potrzebują pliki binarne.
Technologia SCM mogła się ujawnić, tworząc 2 rodzaje użytkowników (jeden z uprawnieniami programistów, którzy będą mogli uzyskać dostęp do kodu źródłowego, a drugi jako klient, który będzie miał dostęp do plików binarnych). Ale to nie poszło tą drogą! Więc teraz mamy artefakty.
źródło
Artefakt
Jest czymś, co jest wytwarzane / generowane / wytwarzane z określonego procesu
Repozytorium
Jest pojemnikiem, w którym wszystko się utrzymuje
Teoretycznie Artifact - ory byłoby repozytorium artefaktu gdzie oni są zachowywane i zarządzanej przez cały cykl ich życia.
W kontekście DevOps Artifactory to produkt zarządzający artefaktami binarnymi. Przechowuje i zarządza różnymi typami (pakiety Jar, Python i npm itp.), Które produkujesz ze swoich kompilacji i ponownie używasz w czasie kompilacji lub wdrażania.
źródło