Was ist ein Artefakt-Repository?


Antworten:


32

Während der Entwicklung generieren Sie eine ganze Reihe verschiedener Artefakte. Dies können sein:

  • Der Quellcode
  • Die kompilierte Anwendung
  • Ein implementierbares Paket
  • Dokumentation

und möglicherweise auch andere

Während Sie ein Quellcodeverwaltungssystem verwenden könnten, um alle zu speichern, ist es normalerweise äußerst ineffizient, da Quellcodeverwaltungssysteme normalerweise für die Verarbeitung von textbasierten Dateien und nicht für Binärdateien ausgelegt sind. Sie können sie möglicherweise als einfachen Speichermechanismus verwenden, wenn die meisten Ihrer Releases textbasiert sind und Sie nicht viele Binärdaten speichern müssen.

Artefakt-Repositorys können jedoch alle Arten von Dateien speichern, auch binäre. Dies umfasst alles, von komprimierten Quellcodes über das Erstellen von Ergebnissen bis hin zu Docker-Bildern. Außerdem speichern sie in der Regel nicht nur diese Artefakte, sondern unterstützen sie auch bei der Verwaltung mit verschiedenen zusätzlichen Funktionen, beispielsweise:

  • Versionsunterstützung: Speichern Sie einige Metadaten ordnungsgemäß, z. B. als jedes Artefakt erstellt wurde, wie die Versionsnummer lautet, speichern Sie die Hashes usw.
  • Aufbewahrung: Stellen Sie sicher, dass Sie nur die wichtigen Artefakte aufbewahren und löschen Sie automatisch diejenigen, die nur Schnappschüsse sind / nicht mehr benötigt werden usw., basierend auf verschiedenen Kriterien, die Sie einrichten können
  • Zugriffskontrolle: Legen Sie fest, wer die verschiedenen Artefakte veröffentlichen und herunterladen kann
  • Promotion: Fähigkeit, Artefakte zu fördern. Beispielsweise können Snapshot-Artefakte mit einer kurzen Aufbewahrungsdauer auf einem Server in der Nähe Ihrer Codierer und einem separaten Repository in der Nähe der Live-Server vorhanden sein, auf denen nur als bereitstellbar geltende Artefakte angezeigt werden. Dies umfasst auch die Unterstützung verschiedener Versionskanäle und das Verschieben von Artefakten zwischen ihnen (z. B. das Heraufstufen einer bestimmten Version von Beta auf Stable).
  • Dient als systemeigenes Repository für die Artefakte. Das heißt, Sie können es als Haupt-Repository für Maven, Rubygems, Docker usw. verwenden. Dies kann auch das Zwischenspeichern von Artefakten aus den offiziellen Repositories einschließen.

Möglicherweise lohnt es sich, die "Channel" -Funktion über die Versionning-Unterstützung hinaus zu erweitern, wenn ein Computer mit der neuesten Version im Channel "Entwickeln" und ein Produkt mit einer bestimmten Version im Channel "Stabil" als Ziel ausgewählt wird.
Tensibai

@ Pierre.Vriens fügte einige kleine Kommentare hinzu, aber vielleicht kann dies auch in einer separaten Frage behandelt werden
SztupY

merci, aber nur für den Fall, hier ist Ihre Chance, meinen zusätzlichen Kommentar weiter anzusprechen ...
Pierre.Vriens

Ist es sinnvoll, auch Konfigurationsdateien oder Fixtures in solchen Repositories zu speichern?
Tutuca

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.