View a markdown version of this page

Veröffentlichen von Paketen in einem CodeCatalyst Paket-Repository - Amazon CodeCatalyst

Amazon CodeCatalyst ist nicht mehr offen für neue Kunden. Bestandskunden können den Service weiterhin wie gewohnt nutzen. Weitere Informationen finden Sie unter Wie migriert man von CodeCatalyst.

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.

Veröffentlichen von Paketen in einem CodeCatalyst Paket-Repository

Sie können Versionen aller unterstützten Pakettypen mithilfe der Paketmanager-Tools in einem CodeCatalyst Paket-Repository veröffentlichen. Die Schritte zum Veröffentlichen einer Paketversion lauten wie folgt:

Um eine Paketversion in einem CodeCatalyst Paket-Repository zu veröffentlichen
  1. Wenn Sie dies nicht getan haben, erstellen Sie ein Paket-Repository.

  2. Verbinden Sie Ihren Paketmanager mit Ihrem Paket-Repository. Anweisungen zum Verbinden des npm-Paketmanagers mit einem CodeCatalyst Paket-Repository finden Sie unterKonfiguration und Verwendung von npm.

  3. Verwenden Sie Ihren verbundenen Paketmanager, um Ihre Paketversionen zu veröffentlichen.

Veröffentlichung und Upstream-Repositorys

In können Sie keine Paketversionen veröffentlichen CodeCatalyst, die in erreichbaren Upstream-Repositorys oder öffentlichen Repositorys vorhanden sind. Angenommen, Sie möchten ein NPM-Paket in einem Paket-Repository veröffentlichen und sind über ein Gateway-Repositorymyrepo, das als Upstream-Repository konfiguriert myrepo ist, mit npmjs.com verbunden. lodash@1.0 Wenn lodash@1.0 es im Upstream-Repository oder auf npmjs.com vorhanden ist, CodeCatalyst lehnt es jeden Versuch ab, dort zu veröffentlichen, indem es einen 409-Konfliktfehler ausgibt. myrepo Dies verhindert, dass Sie versehentlich ein Paket mit demselben Namen und derselben Version wie ein Paket in einem Upstream-Repository veröffentlichen, was zu unerwartetem Verhalten führen kann.

Sie können immer noch verschiedene Versionen eines Paketnamens veröffentlichen, die in einem Upstream-Repository existieren. Wenn er beispielsweise in einem Upstream-Repository vorhanden lodash@1.0 lodash@1.1 ist, aber nicht, können Sie im Downstream-Repository veröffentlichenlodash@1.1.

Private Pakete und öffentliche Repositorys

CodeCatalyst veröffentlicht keine Pakete, die in Repositorys gespeichert sind, in öffentlichen CodeCatalyst Repositorys wie npmjs.com oder Maven Central. CodeCatalyst importiert Pakete aus öffentlichen Repositorys in ein CodeCatalyst Projektarchiv, verschiebt Pakete jedoch nicht in die entgegengesetzte Richtung. Pakete, die Sie in CodeCatalyst Repositorys veröffentlichen, bleiben privat und stehen nur dem Projekt zur Verfügung, zu dem das CodeCatalyst Projektarchiv gehört.

Paket-Assets werden überschrieben

Sie können ein bereits vorhandenes Paket-Asset mit anderem Inhalt nicht erneut veröffentlichen. Nehmen wir zum Beispiel an, Sie haben bereits ein Maven-Paket mit einem JAR-Asset veröffentlicht. mypackage-1.0.jar Sie können dieses Asset nur erneut veröffentlichen, wenn die Prüfsumme des alten und des neuen Assets identisch ist. Um dasselbe Asset mit neuem Inhalt erneut zu veröffentlichen, löschen Sie zuerst die Paketversion. Der Versuch, denselben Asset-Namen mit anderem Inhalt erneut zu veröffentlichen, führt zu einem HTTP 409-Konfliktfehler.

Bei Paketformaten, die mehrere Assets unterstützen (Python und Maven), können Sie einer vorhandenen Paketversion jederzeit neue Assets mit unterschiedlichen Namen hinzufügen, vorausgesetzt, Sie verfügen über die erforderlichen Berechtigungen. Da npm und ich NuGet nur ein einziges Asset pro Paketversion unterstützen, müssen Sie eine veröffentlichte Paketversion zuerst löschen, um sie zu ändern.

Wenn Sie versuchen, ein bereits vorhandenes Asset erneut zu veröffentlichen (z. B.mypackage-1.0.jar), und der Inhalt des veröffentlichten Elements und des neuen Assets identisch sind, ist der Vorgang erfolgreich, da der Vorgang idempotent ist.