

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
<a name="configure-swift"></a>

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 der Swift Package Manager-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
<a name="configure-swift-login-command"></a>

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:

1. 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:

   1. **macOS:** In der macOS Keychain App wird ein Eintrag erstellt.

   1. **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.

1. Rufen Sie die URL Ihres CodeArtifact Repository-Endpunkts ab und fügen Sie sie Ihrer Swift-Konfigurationsdatei hinzu. Der Befehl fügt die 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**

1. Navigieren Sie zum Swift-Projektverzeichnis, das die `Package.swift` Datei Ihres Projekts enthält.

1. 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](domain-overview.md#domain-overview-cross-account).

   ```
   aws codeartifact login --tool {{swift}} --domain {{my_domain}} \
   --domain-owner {{111122223333}} --repository {{my_repo}} \
   [--namespace {{my_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](codeartifact-concepts.md#welcome-concepts-package-namespace) 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 unter[Mit dem Befehl erstellte Tokens `login`](tokens-authentication.md#auth-token-login).

## Konfigurieren Sie Swift ohne den Login-Befehl
<a name="configure-swift-without-login-command"></a>

Es wird zwar empfohlen, [Swift mit dem `aws codeartifact login` Befehl zu konfigurieren, Sie können den](#configure-swift-login-command) Swift Package Manager jedoch 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:

1. 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:

   1. **macOS:** In der macOS Keychain App wird ein Eintrag erstellt.

   1. **Linux und Windows:** In der `~/.netrc` Datei wird ein Eintrag erstellt.

1. Rufen Sie die URL Ihres CodeArtifact Repository-Endpunkts ab.

1. Fügen Sie in der `~/.swiftpm/configuration/registries.json` Konfigurationsdatei einen Eintrag mit Ihrer Repository-Endpunkt-URL und Ihrem Authentifizierungstyp hinzu.

**Um den Swift ohne den Login-Befehl zu konfigurieren**

1. Verwenden Sie in einer Befehlszeile den folgenden Befehl, um ein CodeArtifact Autorisierungstoken abzurufen und es in einer Umgebungsvariablen zu speichern.
   + Ersetzen Sie es {{my\_domain}} durch Ihren CodeArtifact Domainnamen.
   + {{111122223333}}Ersetzen Sie es durch die AWS Konto-ID des Inhabers der Domain. Wenn Sie auf ein Repository in einer Domain zugreifen, die Sie besitzen, müssen Sie nichts angeben`--domain-owner`. Weitere Informationen finden Sie unter [Kontenübergreifende Domänen](domain-overview.md#domain-overview-cross-account).

------
#### [ macOS and Linux ]

   ```
   export CODEARTIFACT_AUTH_TOKEN=`aws codeartifact get-authorization-token --domain {{my_domain}} --domain-owner {{111122223333}} --query authorizationToken --output text`
   ```

------
#### [ Windows ]
   + Windows (unter Verwendung der Standard-Befehlsshell):

     ```
     for /f %i in ('aws codeartifact get-authorization-token --domain {{my_domain}} --domain-owner {{111122223333}} --query authorizationToken --output text') do set CODEARTIFACT_AUTH_TOKEN=%i
     ```
   + Windows PowerShell:

     ```
     $env:CODEARTIFACT_AUTH_TOKEN = aws codeartifact get-authorization-token --domain {{my_domain}} --domain-owner {{111122223333}} --query authorizationToken --output text
     ```

------

1. 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.
   + Ersetze es {{my\_domain}} durch deinen CodeArtifact Domainnamen.
   + {{111122223333}}Ersetzen Sie es durch die AWS Konto-ID des Inhabers der Domain. Wenn Sie auf ein Repository in einer Domain zugreifen, die Sie besitzen, müssen Sie nichts angeben`--domain-owner`. Weitere Informationen finden Sie unter [Kontenübergreifende Domänen](domain-overview.md#domain-overview-cross-account).
   + Ersetze es {{my\_repo}} durch deinen CodeArtifact Repository-Namen.

------
#### [ macOS and Linux ]

   ```
   export CODEARTIFACT_REPO=`aws codeartifact get-repository-endpoint --domain {{my_domain}} --domain-owner {{111122223333}} --repository {{my_repo}} --format swift --query repositoryEndpoint --output text`
   ```

------
#### [ Windows ]
   + Windows (unter Verwendung der Standard-Befehlsshell):

     ```
     for /f %i in ('aws codeartifact get-repository-endpoint --domain {{my_domain}} --domain-owner {{111122223333}} --repository {{my_repo}} --format swift --query repositoryEndpoint --output text') do set CODEARTIFACT_REPO=%i
     ```
   + Windows PowerShell:

     ```
     $env:CODEARTIFACT_REPO = aws codeartifact get-repository-endpoint --domain {{my_domain}} --domain-owner {{111122223333}} --repository {{my_repo}} --format swift --query repositoryEndpoint --output text
     ```

------

   Die folgende URL ist 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.{{region}}.on.aws` Endpunkt.
**Wichtig**  
Sie müssen `login` an das Ende des Repository-URL-Endpunkts anhängen, wenn Sie ihn zur Konfiguration des Swift Package Managers verwenden. Dies wird in den Befehlen dieses Verfahrens für Sie erledigt.

1. Wenn diese beiden Werte in Umgebungsvariablen gespeichert sind, übergeben Sie sie mit dem folgenden `swift package-registry login` Befehl an Swift:

------
#### [ macOS and Linux ]

   ```
   swift package-registry login ${CODEARTIFACT_REPO}login --token ${CODEARTIFACT_AUTH_TOKEN}
   ```

------
#### [ Windows ]
   + Windows (unter Verwendung der Standard-Befehlsshell):

     ```
     swift package-registry login %CODEARTIFACT_REPO%login --token %CODEARTIFACT_AUTH_TOKEN%
     ```
   + Windows PowerShell:

     ```
     swift package-registry login $Env:CODEARTIFACT_REPO+"login" --token $Env:CODEARTIFACT_AUTH_TOKEN
     ```

------

1. 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:

------
#### [ macOS and Linux ]

   ```
   $ swift package-registry set ${CODEARTIFACT_REPO} [--scope {{my_scope}}]
   ```

------
#### [ Windows ]
   + Windows (unter Verwendung der Standard-Befehlsshell):

     ```
     $ swift package-registry set %CODEARTIFACT_REPO% [--scope {{my_scope}}]
     ```
   + Windows PowerShell:

     ```
     $ swift package-registry set $Env:CODEARTIFACT_REPO [--scope {{my_scope}}]
     ```

------

   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](codeartifact-concepts.md#welcome-concepts-package-namespace) und werden verwendet, um Code in logische Gruppen zu organisieren und Namenskollisionen zu verhindern, die auftreten können, wenn Ihre Codebasis mehrere Bibliotheken umfasst.

1. 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](swift-publish-consume.md).