Konfiguration und Verwendung von RubyGems und Bundler mit CodeArtifact - 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.

Konfiguration und Verwendung von RubyGems und Bundler mit CodeArtifact

Nachdem Sie ein Repository in erstellt haben CodeArtifact, können Sie RubyGems (gem) und Bundler (bundle) verwenden, um Gems zu installieren und zu veröffentlichen. In diesem Thema wird beschrieben, wie Sie die Paketmanager so konfigurieren, dass sie sich bei einem CodeArtifact Repository authentifizieren und dieses verwenden.

Configure RubyGems (gem) und Bundler (bundle) mit CodeArtifact

Um RubyGems (gem) oder Bundler (bundle) zu verwenden, um Gems zu veröffentlichen oder von dort Gems zu konsumieren AWS CodeArtifact, müssen Sie sie zunächst mit Ihren CodeArtifact Repository-Informationen konfigurieren, einschließlich der Zugangsdaten für den Zugriff darauf. Folgen Sie den Schritten in einem der folgenden Verfahren, um die Tools gem und bundle CLI mit Ihren CodeArtifact Repository-Endpunktinformationen und Anmeldeinformationen zu konfigurieren.

Configure RubyGems and Bundler mithilfe der Konsolenanweisungen

Sie können die Konfigurationsanweisungen in der Konsole verwenden, um Ihre Ruby-Paketmanager mit Ihrem CodeArtifact Repository zu verbinden. Die Konsolenanweisungen enthalten benutzerdefinierte Befehle, die Sie ausführen können, um Ihre Paketmanager einzurichten, ohne Ihre CodeArtifact Informationen suchen und eingeben zu müssen.

  1. Öffnen Sie die AWS CodeArtifact Konsole unter https://console.aws.amazon.com/codesuite/codeartifact/home.

  2. Wählen Sie im Navigationsbereich Repositories und dann das Repository aus, das Sie für die Installation oder Übertragung von Ruby Gems verwenden möchten.

  3. Wählen Sie Verbindungsanweisungen anzeigen.

  4. Wählen Sie Ihr Betriebssystem aus.

  5. Wählen Sie den Ruby-Paketmanager-Client aus, den Sie mit Ihrem CodeArtifact Repository konfigurieren möchten.

  6. Folgen Sie den generierten Anweisungen, um den Package Manager-Client so zu konfigurieren, dass er Ruby-Gems aus dem Repository installiert oder Ruby-Gems im Repository veröffentlicht.

Manuelles Konfigurieren RubyGems und Bündeln

Wenn Sie die Konfigurationsanweisungen von der Konsole aus nicht verwenden können oder wollen, können Sie die folgenden Anweisungen verwenden, um manuell eine Verbindung zwischen Ihren Ruby-Paketmanagern und Ihrem CodeArtifact Repository herzustellen.

  1. Verwenden Sie in einer Befehlszeile den folgenden Befehl, um ein CodeArtifact Autorisierungstoken abzurufen und es in einer Umgebungsvariablen zu speichern.

    • Ersetzen Sie my_domain durch Ihren CodeArtifact Domainnamen.

    • Ersetzen Sie 111122223333 durch die AWS Konto-ID des Domaininhabers. 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.

    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
  2. Um Ruby-Gems in Ihrem Repository zu veröffentlichen, verwenden Sie den folgenden Befehl, um den Endpunkt Ihres CodeArtifact Repositorys abzurufen und ihn in der RUBYGEMS_HOST Umgebungsvariablen zu speichern. Die gem CLI verwendet diese Umgebungsvariable, um zu bestimmen, wo Gems veröffentlicht werden.

    Anmerkung

    Anstatt die RUBYGEMS_HOST Umgebungsvariable zu verwenden, können Sie dem Repository-Endpunkt bei der Verwendung des gem push Befehls --host diese Option zur Verfügung stellen.

    • Ersetzen Sie my_domain durch Ihren CodeArtifact Domainnamen.

    • Ersetzen Sie 111122223333 durch die AWS Konto-ID des Domaininhabers. 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.

    • Ersetzen Sie my_repo durch Ihren CodeArtifact Repository-Namen.

    macOS and Linux
    export RUBYGEMS_HOST=`aws codeartifact get-repository-endpoint --domain my_domain --domain-owner 111122223333 --repository my_repo --format ruby --query repositoryEndpoint --output text | sed 's:/*$::'`
    Windows

    Die folgenden Befehle rufen den Repository-Endpunkt ab, kürzen die nachfolgenden Befehle und / speichern sie dann in einer Umgebungsvariablen.

    • 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 ruby --query repositoryEndpoint --output text') do set RUBYGEMS_HOST=%i set RUBYGEMS_HOST=%RUBYGEMS_HOST:~0,-1%
    • Windows PowerShell:

      $env:RUBYGEMS_HOST = (aws codeartifact get-repository-endpoint --domain my_domain --domain-owner 111122223333 --repository my_repo --format ruby --query repositoryEndpoint --output text).TrimEnd("/")

    Die folgende URL ist ein Beispiel für einen Repository-Endpunkt:

    https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/ruby/my_repo/
  3. Um Ruby Gems in Ihrem Repository zu veröffentlichen, müssen Sie sich CodeArtifact mit authentifizieren, RubyGems indem Sie Ihre ~/.gem/credentials Datei so bearbeiten, dass sie Ihr Authentifizierungstoken enthält. Erstellen Sie ein ~/.gem/ Verzeichnis und eine ~/.gem/credentials Datei, falls das Verzeichnis oder die Datei nicht existiert.

    macOS and Linux
    echo ":codeartifact_api_key: Bearer $CODEARTIFACT_AUTH_TOKEN" >> ~/.gem/credentials
    Windows
    • Windows (unter Verwendung der Standard-Befehlsshell):

      echo :codeartifact_api_key: Bearer %CODEARTIFACT_AUTH_TOKEN% >> %USERPROFILE%/.gem/credentials
    • Windows PowerShell:

      echo ":codeartifact_api_key: Bearer $env:CODEARTIFACT_AUTH_TOKEN" | Add-Content ~/.gem/credentials
  4. Um Ruby Gems aus Ihrem Repository gem zu installieren, müssen Sie Ihrer .gemrc Datei die Repository-Endpunktinformationen und das Authentifizierungstoken hinzufügen. Sie können es der Globaldatei (~/.gemrc) oder Ihrer .gemrc Projektdatei hinzufügen. Die CodeArtifact Informationen, die Sie hinzufügen müssen, sind .gemrc eine Kombination aus dem Repository-Endpunkt und dem Authentifizierungstoken. Sie ist wie folgt formatiert:

    https://aws:${CODEARTIFACT_AUTH_TOKEN}@my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/ruby/my_repo/
    • Für das Authentifizierungstoken können Sie die CODEARTIFACT_AUTH_TOKEN Umgebungsvariable verwenden, die in einem früheren Schritt festgelegt wurde.

    • Um den Repository-Endpunkt abzurufen, können Sie den Wert der RUBYGEMS_HOST Umgebungsvariablen lesen, die zuvor festgelegt wurde, oder Sie können den folgenden get-repository-endpoint Befehl verwenden und die Werte nach Bedarf ersetzen:

      aws codeartifact get-repository-endpoint --domain my_domain --domain-owner 111122223333 --repository my_repo --format ruby --query repositoryEndpoint --output text

    Wenn Sie den Endpunkt gefunden haben, fügen Sie ihn mit einem Texteditor aws:${CODEARTIFACT_AUTH_TOKEN}@ an der entsprechenden Position hinzu. Sobald Sie den Repository-Endpunkt und die Authentifizierungstoken-Zeichenfolge erstellt haben, fügen Sie sie mit dem folgenden echo Befehl zum :sources: Abschnitt Ihrer .gemrc Datei hinzu:

    Warnung

    CodeArtifact unterstützt das Hinzufügen von Repositorys als Quellen mit dem gem sources -add Befehl nicht. Sie müssen die Quelle direkt zur Datei hinzufügen.

    macOS and Linux
    echo ":sources: - https://aws:${CODEARTIFACT_AUTH_TOKEN}@my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/ruby/my_repo/" > ~/.gemrc
    Windows
    • Windows (unter Verwendung der Standard-Befehlsshell):

      echo ":sources: - https://aws:%CODEARTIFACT_AUTH_TOKEN%@my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/ruby/my_repo/" > "%USERPROFILE%\.gemrc"
    • Windows PowerShell:

      echo ":sources: - https://aws:$env:CODEARTIFACT_AUTH_TOKEN@my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/ruby/my_repo/" | Add-Content ~/.gemrc
  5. Um Bundler zu verwenden, müssen Sie Bundler mit Ihrer Repository-Endpunkt-URL und Ihrem Authentifizierungstoken konfigurieren, indem Sie den folgenden bundle config Befehl ausführen:

    macOS and Linux
    bundle config $RUBYGEMS_HOST aws:$CODEARTIFACT_AUTH_TOKEN
    Windows
    • Windows (unter Verwendung der Standard-Befehlsshell):

      bundle config %RUBYGEMS_HOST% aws:%CODEARTIFACT_AUTH_TOKEN%
    • Windows PowerShell:

      bundle config $Env:RUBYGEMS_HOST aws:$Env:CODEARTIFACT_AUTH_TOKEN

Nachdem Sie nun RubyGems (gem) und Bundler (bundle) mit Ihrem CodeArtifact Repository konfiguriert haben, können Sie sie verwenden, um Ruby-Gems zu veröffentlichen und daraus zu nutzen.

Ruby-Gems installieren von CodeArtifact

Verwenden Sie die folgenden Verfahren, um Ruby Gems aus einem CodeArtifact Repository mit den Tools gem oder bundle CLI zu installieren.

Installieren Sie Ruby Gems mit gem

Sie können die CLI RubyGems (gem) verwenden, um schnell eine bestimmte Version eines Ruby-Gems aus Ihrem CodeArtifact Repository zu installieren.

Um Ruby-Gems aus einem CodeArtifact Repository zu installieren mit gem
  1. Falls nicht, folgen Sie den Schritten unter, um die gem CLI so Configure RubyGems (gem) und Bundler (bundle) mit CodeArtifact zu konfigurieren, dass Ihr CodeArtifact Repository mit den richtigen Anmeldeinformationen verwendet wird.

    Anmerkung

    Das generierte Autorisierungstoken ist 12 Stunden gültig. Sie müssen ein neues erstellen, wenn seit der Erstellung eines Tokens 12 Stunden vergangen sind.

  2. Verwenden Sie den folgenden Befehl, um Ruby Gems von zu installieren CodeArtifact:

    gem install my_ruby_gem --version 1.0.0

Installieren Sie Ruby Gems mit bundle

Sie können die Bundler (bundle) CLI verwenden, um die Ruby-Gems zu installieren, die in Ihrem Gemfile konfiguriert sind.

Um Ruby-Gems aus einem CodeArtifact Repository zu installieren mit bundle
  1. Falls nicht, folgen Sie den Schritten unter, um die bundle CLI so Configure RubyGems (gem) und Bundler (bundle) mit CodeArtifact zu konfigurieren, dass Ihr CodeArtifact Repository mit den richtigen Anmeldeinformationen verwendet wird.

    Anmerkung

    Das generierte Autorisierungstoken ist 12 Stunden gültig. Sie müssen ein neues erstellen, wenn seit der Erstellung eines Tokens 12 Stunden vergangen sind.

  2. Fügen Sie Ihre CodeArtifact Repository-Endpunkt-URL zu Ihrem Gemfile AS hinzusource, um konfigurierte Ruby-Gems aus Ihrem CodeArtifact Repository und seinen Upstreams zu installieren.

    source "https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/ruby/my_repo/" gem 'my_ruby_gem'
  3. Verwenden Sie den folgenden Befehl, um die Ruby-Gems wie in Ihrem Gemfile angegeben zu installieren:

    bundle install

Veröffentlichen von Ruby-Gems auf CodeArtifact

Gehen Sie wie folgt vor, um Ruby-Gems mithilfe der gem CLI in einem CodeArtifact Repository zu veröffentlichen.

  1. Falls nicht, folgen Sie den Schritten unter, um die gem CLI so Configure RubyGems (gem) und Bundler (bundle) mit CodeArtifact zu konfigurieren, dass Ihr CodeArtifact Repository mit den richtigen Anmeldeinformationen verwendet wird.

    Anmerkung

    Das generierte Autorisierungstoken ist 12 Stunden gültig. Sie müssen ein neues erstellen, wenn seit der Erstellung eines Tokens 12 Stunden vergangen sind.

  2. Verwenden Sie den folgenden Befehl, um Ruby-Gems in einem CodeArtifact Repository zu veröffentlichen. Beachten Sie, dass Sie, wenn Sie die RUBYGEMS_HOST Umgebungsvariable nicht festgelegt haben, Ihren CodeArtifact Repository-Endpunkt in der --host Option angeben müssen.

    gem push --key codeartifact_api_key my_ruby_gem-0.0.1.gem