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.
Konfigurieren Sie den Swift Package Manager mit CodeArtifact
Um den Swift Package Manager zum Veröffentlichen von Paketen oder zum Konsumieren von Paketen zu verwenden AWS CodeArtifact, müssen Sie zunächst Anmeldeinformationen für den Zugriff auf Ihr CodeArtifact Repository einrichten. Die empfohlene Methode zur Konfiguration des Swift Package Managers CLI mit Ihren CodeArtifact Anmeldeinformationen und Ihrem Repository-Endpunkt ist die Verwendung des aws codeartifact login
Befehls. Sie können den Swift Package Manager auch manuell konfigurieren.
Konfigurieren Sie Swift mit dem Login-Befehl
Verwenden Sie den aws codeartifact login
Befehl, um den Swift Package Manager mit zu konfigurieren CodeArtifact.
Anmerkung
Um den Login-Befehl zu verwenden, ist Swift 5.8 oder höher erforderlich und Swift 5.9 oder höher wird empfohlen.
Der aws codeartifact login
Befehl führt Folgendes aus:
-
Rufen Sie ein Authentifizierungstoken von Ihrer Umgebung ab CodeArtifact und speichern Sie es in Ihrer Umgebung. Wie die Anmeldeinformationen gespeichert werden, hängt vom Betriebssystem der Umgebung ab:
macOS: In der macOS Keychain App wird ein Eintrag erstellt.
Linux und Windows: In der
~/.netrc
Datei wird ein Eintrag erstellt.
Wenn in allen Betriebssystemen ein Eintrag für Anmeldeinformationen vorhanden ist, ersetzt dieser Befehl diesen Eintrag durch ein neues Token.
Rufen Sie Ihren CodeArtifact Repository-Endpunkt URL ab und fügen Sie ihn Ihrer Swift-Konfigurationsdatei hinzu. Der Befehl fügt den Repository-Endpunkt URL zur Konfigurationsdatei auf Projektebene hinzu, die sich unter
/path/to/project/.swiftpm/configuration/registries.json
befindet.
Anmerkung
Der aws codeartifact login
Befehl ruft swift package-registry
Befehle auf, die von dem Verzeichnis aus ausgeführt werden müssen, das die Package.swift
Datei enthält. Aus diesem Grund muss der aws codeartifact login
Befehl innerhalb des Swift-Projekts ausgeführt werden.
Um Swift mit dem Login-Befehl zu konfigurieren
Navigieren Sie zum Swift-Projektverzeichnis, das die
Package.swift
Datei Ihres Projekts enthält.Führen Sie den Befehl
aws codeartifact login
aus.Wenn Sie auf ein Repository in einer Domain zugreifen, die Sie besitzen, müssen Sie dies nicht angeben
--domain-owner
. Weitere Informationen finden Sie unter Kontenübergreifende Domänen.aws codeartifact login --tool
swift
--domainmy_domain
\ --domain-owner111122223333
--repositorymy_repo
\ [--namespacemy_namespace
]
Die --namespace
Option konfiguriert die Anwendung so, dass sie nur Pakete aus Ihrem CodeArtifact Repository verwendet, wenn sie sich im angegebenen Namespace befinden. CodeArtifact Namespaces sind ein Synonym für Bereiche und werden verwendet, um Code in logische Gruppen zu organisieren und Namenskollisionen zu verhindern, die auftreten können, wenn Ihre Codebasis mehrere Bibliotheken umfasst.
Der Standardzeitraum für die Autorisierung nach dem Aufrufen login
beträgt 12 Stunden und login
muss aufgerufen werden, um das Token regelmäßig zu aktualisieren. Weitere Hinweise zu dem mit dem login
Befehl erstellten Autorisierungstoken finden Sie unterMit dem login Befehl erstellte Tokens.
Konfigurieren Sie Swift ohne den Login-Befehl
Es wird zwar empfohlen, Swift mit dem aws codeartifact login Befehl zu konfigurieren, aber Sie können den Swift Package Manager auch ohne den Login-Befehl konfigurieren, indem Sie die Swift Package Manager-Konfiguration manuell aktualisieren.
Im folgenden Verfahren verwenden Sie den, AWS CLI um Folgendes zu tun:
Rufen Sie ein Authentifizierungstoken von Ihrer Umgebung ab CodeArtifact und speichern Sie es dort. Wie die Anmeldeinformationen gespeichert werden, hängt vom Betriebssystem der Umgebung ab:
macOS: In der macOS Keychain App wird ein Eintrag erstellt.
Linux und Windows: In der
~/.netrc
Datei wird ein Eintrag erstellt.
Rufen Sie Ihren CodeArtifact Repository-Endpunkt abURL.
Fügen Sie in der
~/.swiftpm/configuration/registries.json
Konfigurationsdatei einen Eintrag mit Ihrem Repository-Endpunkt URL und Authentifizierungstyp hinzu.
Um den Swift ohne den Login-Befehl zu konfigurieren
Verwenden Sie in einer Befehlszeile den folgenden Befehl, um ein CodeArtifact Autorisierungstoken abzurufen und es in einer Umgebungsvariablen zu speichern.
Ersetzen
my_domain
mit Ihrem CodeArtifact Domainnamen.Ersetzen
111122223333
mit der AWS Konto-ID des Inhabers der Domain. Wenn Sie auf ein Repository in einer Domain zugreifen, die Sie besitzen, müssen Sie dies nicht angeben--domain-owner
. Weitere Informationen finden Sie unter Kontenübergreifende Domänen.
Rufen Sie den Endpunkt Ihres CodeArtifact Repositorys ab, indem Sie den folgenden Befehl ausführen. Ihr Repository-Endpunkt wird verwendet, um den Swift Package Manager auf Ihr Repository zu verweisen, um Pakete zu konsumieren oder zu veröffentlichen.
Ersetzen
my_domain
mit Ihrem CodeArtifact Domainnamen.Ersetzen
111122223333
mit der AWS Konto-ID des Inhabers der Domain. Wenn Sie auf ein Repository in einer Domain zugreifen, die Sie besitzen, müssen Sie dies nicht angeben--domain-owner
. Weitere Informationen finden Sie unter Kontenübergreifende Domänen.Ersetzen
my_repo
mit Ihrem CodeArtifact Repository-Namen.
Im Folgenden finden Sie URL ein Beispiel für einen Repository-Endpunkt.
https://
my_domain
-111122223333.d.codeartifact.us-west-2
.amazonaws.com/swift/my_repo
/Anmerkung
Um einen Dual-Stack-Endpunkt zu verwenden, verwenden Sie den
codeartifact.
Endpunkt.region
.on.awsWichtig
Sie müssen
login
an das Ende des URL Repository-Endpunkts anhängen, wenn Sie ihn zur Konfiguration des Swift Package Managers verwenden. Dies wird in den Befehlen dieses Verfahrens für Sie erledigt.Wenn diese beiden Werte in Umgebungsvariablen gespeichert sind, übergeben Sie sie mit dem folgenden
swift package-registry login
Befehl an Swift:Aktualisieren Sie als Nächstes die von Ihrer Anwendung verwendete Paketregistrierung, sodass alle Abhängigkeiten aus Ihrem CodeArtifact Repository abgerufen werden. Dieser Befehl muss in dem Projektverzeichnis ausgeführt werden, in dem Sie versuchen, die Paketabhängigkeit aufzulösen:
Die
--scope
Option konfiguriert die Anwendung so, dass sie nur Pakete aus Ihrem CodeArtifact Repository verwendet, wenn sie sich im angegebenen Bereich befinden. Bereiche sind gleichbedeutend mit CodeArtifact Namespaces und werden verwendet, um Code in logische Gruppen zu organisieren und Namenskollisionen zu verhindern, die auftreten können, wenn Ihre Codebasis mehrere Bibliotheken umfasst.-
Sie können überprüfen, ob die Konfiguration korrekt eingerichtet wurde, indem Sie den Inhalt der
.swiftpm/configuration/registries.json
Datei auf Projektebene anzeigen, indem Sie den folgenden Befehl in Ihrem Projektverzeichnis ausführen:$ cat .swiftpm/configuration/registries.json { "authentication" : { }, "registries" : { "[default]" : { "url" : "https://my-domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/swift/my-repo/" } }, "version" : 1 }
Nachdem Sie den Swift Package Manager mit Ihrem CodeArtifact Repository konfiguriert haben, können Sie ihn verwenden, um Swift-Pakete zu veröffentlichen und zu verwenden. Weitere Informationen finden Sie unter Swift-Pakete konsumieren und veröffentlichen.