AWS CodeArtifact-Konzepte - CodeArtifact

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

AWS CodeArtifact-Konzepte

Hier sind einige Konzepte und Begriffe, die Sie bei der Verwendung kennen sollten CodeArtifact.

Komponente

Ein Asset ist eine einzelne Datei CodeArtifact , in der gespeichert ist und mit einer Paketversion verknüpft ist, z. B. eine.tgz NPM-Datei oder Maven-POM- und JAR-Dateien.

Bereich

Repositorys werden zu einer übergeordneten Einheit zusammengefasst, die als Domain bezeichnet wird. Alle Paket-Assets und Metadaten werden in der Domain gespeichert, aber sie werden über Repositorys genutzt. Ein bestimmtes Paket-Asset, z. B. eine Maven-JAR-Datei, wird einmal pro Domain gespeichert, unabhängig davon, in wie vielen Repositorys es vorhanden ist. Alle Assets und Metadaten in einer Domain werden mit demselbenAWS KMS key (KMS-Schlüssel) verschlüsselt, der inAWS Key Management Service (AWS KMS) gespeichert ist.

Jedes Repository ist Mitglied einer einzelnen Domain und kann nicht in eine andere Domain verschoben werden.

Mithilfe einer Domain können Sie eine Organisationsrichtlinie auf mehrere Repositorys anwenden. Mit diesem Ansatz legen Sie fest, welche Konten auf Repositorys in der Domäne zugreifen können und welche öffentlichen Repositorys als Paketquellen verwendet werden können.

Eine Organisation kann zwar mehrere Domänen haben, wir empfehlen jedoch eine einzige Produktionsdomäne, die alle veröffentlichten Artefakte enthält. Auf diese Weise können Teams Pakete in Ihrem Unternehmen finden und gemeinsam nutzen.

Ablage

Ein CodeArtifact Repository enthält eine Reihe von Paketversionen, von denen jede einer Reihe von Assets zugeordnet ist. Repositorys sind mehrsprachig — ein einzelnes Repository kann Pakete aller unterstützten Typen enthalten. Jedes Repository stellt Endpunkte für das Abrufen und Veröffentlichen von Paketen mithilfe von Tools wie der Nuget-CLI, der npm-CLI, der Maven-CLI (mvn) und pip zur Verfügung. Sie können bis zu 1.000 Repository-Suche pro Domäne erstellen.

Paket

Ein Paket ist ein Paket aus Software und den Metadaten, das erforderlich ist, um Abhängigkeiten zu lösen und die Software zu installieren. In CodeArtifact besteht ein Paket aus einem Paketnamen, einem optionalen Namespace wie@types in@types/node, einer Reihe von Paketversionen und Metadaten auf Paketebene wie npm-Tags.

AWS CodeArtifact unterstützt npm -, PyPI -, Maven - und generische Paketformate. NuGet

Paket-Namespace

Einige Paketformate unterstützen hierarchische Paketnamen, um Pakete in logische Gruppen zu organisieren und Namenskollisionen zu vermeiden. Zum Beispiel unterstützt npm Bereiche. Weitere Informationen finden Sie in der Dokumentation npm-Scopes. Das npm-Paket@types/node hat einen Gültigkeitsbereich von@types und einen Namen vonnode. Es gibt viele andere Paketnamen im@types Geltungsbereich. In CodeArtifact wird der Gültigkeitsbereich („Typen“) als Paket-Namespace und der Name („Node“) als Paketname bezeichnet. Bei Maven-Paketen entspricht der Paket-Namespace der Maven-GroupID. Das Maven-Paketorg.apache.logging.log4j:log4j hat eine GroupID (Paketnamespace) vonorg.apache.logging.log4j und die ArtifactID (Paketname)log4j. Für generische Pakete ist ein Namespace erforderlich. Einige Paketformate wie PyPI unterstützen keine hierarchischen Namen mit einem ähnlichen Konzept wie npm scope oder Maven GroupID. Ohne eine Möglichkeit, Paketnamen zu gruppieren, kann es schwieriger sein, Namenskollisionen zu vermeiden.

Paketversion

Eine Paketversion identifiziert die spezifische Version eines Pakets, z.@types/node 12.6.9 B. Das Format und die Semantik der Versionsnummer variieren für verschiedene Paketformate. Beispielsweise müssen npm-Paketversionen der Semantic Versioning-Spezifikation entsprechen. In CodeArtifact besteht eine Paketversion aus der Versions-ID, Metadaten auf Paketversionsebene und einer Reihe von Assets.

Revision

Eine Revision der Paketversion ist eine Zeichenfolge, die einen bestimmten Satz von Assets und Metadaten für eine Paketversion identifiziert. Jedes Mal, wenn eine Paketversion aktualisiert wird, wird eine neue Paketversionsrevision erstellt. Sie könnten beispielsweise ein Quelldistributionsarchiv (sdist) für eine Python-Paketversion veröffentlichen und später derselben Version ein Python-Rad hinzufügen, das kompilierten Code enthält. Wenn Sie das Rad veröffentlichen, wird eine neue Revision der Paketversion erstellt.

Upstream-Repository

Ein Repository ist einem anderen vorgelagert, wenn auf die darin enthaltenen Paketversionen vom Repository-Endpunkt des Downstream-Repositorys aus zugegriffen werden kann. Durch diesen Ansatz werden die Inhalte der beiden Repositorien aus der Sicht eines Kunden effektiv zusammengeführt. Mit CodeArtifact können Sie eine Upstream-Beziehung zwischen zwei Repositorys erstellen.