

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Usare CodeArtifact con Ruby
<a name="using-ruby"></a>

Questi argomenti descrivono come utilizzare gli strumenti RubyGems e Bundler per installare e pubblicare le gemme CodeArtifact di Ruby.

**Nota**  
CodeArtifact consiglia Ruby 3.3 o versioni successive e non funziona con Ruby 2.6 o versioni precedenti.

**Topics**
+ [Configura e usa RubyGems e Bundler](configure-use-rubygems-bundler.md)
+ [RubyGems supporto ai comandi](ruby-command-support.md)
+ [Compatibilità con i bundler](bundler-compatibility.md)

# Configura e usa RubyGems e Bundler con CodeArtifact
<a name="configure-use-rubygems-bundler"></a>

Dopo aver creato un repository in CodeArtifact, puoi usare RubyGems (`gem`) e Bundler (`bundle`) per installare e pubblicare gemme. Questo argomento descrive come configurare i gestori di pacchetti per l'autenticazione e l'utilizzo di un repository. CodeArtifact 

## Configura RubyGems (`gem`) e Bundler () con `bundle` CodeArtifact
<a name="configure-ruby-gem"></a>

Per utilizzare RubyGems (`gem`) o Bundler (`bundle`) per pubblicare gemme o da cui consumare gemme AWS CodeArtifact, devi prima configurarli con le informazioni del tuo CodeArtifact repository, comprese le credenziali per accedervi. Segui i passaggi di una delle seguenti procedure per configurare gli strumenti e la `bundle` CLI con le informazioni `gem` e le credenziali dell'endpoint CodeArtifact del repository.

### Configura RubyGems e raggruppa utilizzando le istruzioni della console
<a name="configure-ruby-gem-console"></a>

Puoi usare le istruzioni di configurazione nella console per connettere i tuoi gestori di pacchetti Ruby al tuo CodeArtifact repository. Le istruzioni della console forniscono comandi personalizzati che è possibile eseguire per configurare i gestori di pacchetti senza dover trovare e inserire le informazioni. CodeArtifact 

1. Apri la AWS CodeArtifact console all'indirizzo [https://console.aws.amazon.com/codesuite/codeartifact/home](https://console.aws.amazon.com/codesuite/codeartifact/home).

1. Nel pannello di navigazione, scegli **Repository, quindi scegli il repository** che desideri utilizzare per installare o inviare le gemme Ruby.

1. **Scegli Visualizza le istruzioni di connessione.**

1. Scegli il tuo sistema operativo.

1. Scegli il client di gestione pacchetti Ruby che desideri configurare con il tuo CodeArtifact repository.

1. Segui le istruzioni generate per configurare il client di gestione dei pacchetti da cui installare o pubblicare le gemme di Ruby nel repository.

### Configura e raggruppa manualmente RubyGems
<a name="configure-ruby-gem-manual"></a>

Se non puoi o non vuoi usare le istruzioni di configurazione della console, puoi usare le seguenti istruzioni per connetterti manualmente ai tuoi gestori di pacchetti Ruby al tuo CodeArtifact repository. 

1. In una riga di comando, usa il seguente comando per recuperare un token di CodeArtifact autorizzazione e memorizzarlo in una variabile di ambiente.
   + *my\$1domain*Sostituiscilo con il tuo nome di CodeArtifact dominio.
   + Sostituiscilo *111122223333* con l'ID dell' AWS account del proprietario del dominio. Se accedi a un repository in un dominio di tua proprietà, non è necessario `--domain-owner` includerlo. Per ulteriori informazioni, consulta [Domini con più account](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 (utilizzando la shell dei comandi predefinita):

     ```
     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. Per pubblicare le gemme di Ruby nel tuo repository, usa il seguente comando per recuperare l'endpoint del tuo CodeArtifact repository e memorizzarlo nella variabile di ambiente. `RUBYGEMS_HOST` La `gem` CLI utilizza questa variabile di ambiente per determinare dove vengono pubblicate le gemme.
**Nota**  
In alternativa, invece di utilizzare la variabile di `RUBYGEMS_HOST` ambiente, è possibile fornire all'endpoint del repository l'`--host`opzione quando si utilizza il comando. `gem push`
   + Sostituiscilo *my\$1domain* con il tuo CodeArtifact nome di dominio.
   + Sostituiscilo *111122223333* con l'ID dell' AWS account del proprietario del dominio. Se accedi a un repository in un dominio di tua proprietà, non è necessario `--domain-owner` includerlo. Per ulteriori informazioni, consulta [Domini con più account](domain-overview.md#domain-overview-cross-account).
   + *my\$1repo*Sostituiscilo con il nome del tuo CodeArtifact repository.

------
#### [ 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 ]

   I seguenti comandi recuperano l'endpoint del repository, tagliano il finale e lo memorizzano in una `/` variabile di ambiente.
   + Windows (utilizzando la shell dei comandi predefinita):

     ```
     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("/")
     ```

------

   L'URL seguente è un esempio di endpoint del repository:

   ```
   https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/ruby/my_repo/
   ```
**Nota**  
Per utilizzare un endpoint dualstack, usa l'endpoint. `codeartifact.region.on.aws`

1. Per pubblicare le gemme di Ruby nel tuo repository, devi autenticarti su CodeArtifact with RubyGems modificando il file per includere il tuo token di autenticazione. `~/.gem/credentials` Crea una `~/.gem/` directory e un `~/.gem/credentials` file se la directory o il file non esiste.

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

   ```
   echo ":codeartifact_api_key: Bearer $CODEARTIFACT_AUTH_TOKEN" >> ~/.gem/credentials
   ```

------
#### [ Windows ]
   + Windows (utilizzando la shell di comando predefinita):

     ```
     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
     ```

------

1. `gem`Per installare le gemme Ruby dal tuo repository, devi aggiungere le informazioni sull'endpoint del repository e il token di autenticazione al tuo file. `.gemrc` Puoi aggiungerlo al file globale () `~/.gemrc` o al file di progetto. `.gemrc` Le CodeArtifact informazioni da aggiungere a sono una combinazione dell'`.gemrc`endpoint del repository e del token di autenticazione. È formattata come segue:

   ```
   https://aws:${CODEARTIFACT_AUTH_TOKEN}@my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/ruby/my_repo/
   ```
   + Per il token di autenticazione, è possibile utilizzare la variabile di `CODEARTIFACT_AUTH_TOKEN` ambiente impostata in un passaggio precedente.
   + Per recuperare l'endpoint del repository, puoi leggere il valore della variabile di `RUBYGEMS_HOST` ambiente impostata in precedenza oppure puoi usare il seguente `get-repository-endpoint` comando, sostituendo i valori se necessario:

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

   Dopo aver ottenuto l'endpoint, utilizzate un editor di testo per aggiungerlo `aws:${CODEARTIFACT_AUTH_TOKEN}@` nella posizione appropriata. Una volta creati l'endpoint del repository e la stringa del token di autenticazione, aggiungili alla `:sources:` sezione del `.gemrc` file con il `echo` comando seguente:
**avvertimento**  
CodeArtifact non supporta l'aggiunta di repository come sorgenti utilizzando il comando. `gem sources -add` È necessario aggiungere la fonte direttamente al file.

------
#### [ 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 (utilizzando la shell dei comandi predefinita):

     ```
     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
     ```

------

1. Per utilizzare Bundler, devi configurare Bundler con l'URL dell'endpoint del repository e il token di autenticazione eseguendo il seguente comando: `bundle config`

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

   ```
   bundle config $RUBYGEMS_HOST aws:$CODEARTIFACT_AUTH_TOKEN 
   ```

------
#### [ Windows ]
   + Windows (utilizzando la shell dei comandi predefinita):

     ```
     bundle config %RUBYGEMS_HOST% aws:%CODEARTIFACT_AUTH_TOKEN%
     ```
   + Windows PowerShell:

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

------

Ora che hai configurato RubyGems (`gem`) e Bundler (`bundle`) con il tuo CodeArtifact repository, puoi usarli per pubblicare e utilizzare le gemme di Ruby da e verso di esso.

## Installazione di Ruby gems da CodeArtifact
<a name="install-ruby-gems"></a>

Usa le seguenti procedure per installare le gemme Ruby da un CodeArtifact repository con gli strumenti o `gem` CLI`bundle`.

### Installa Ruby gems con `gem`
<a name="install-ruby-gems-gem"></a>

Puoi usare la CLI RubyGems (`gem`) per installare rapidamente una versione specifica di una gemma Ruby dal tuo repository. CodeArtifact 

**Per installare Ruby gems da un repository con CodeArtifact `gem`**

1. In caso contrario, segui i passaggi indicati [Configura RubyGems (`gem`) e Bundler () con `bundle` CodeArtifact](#configure-ruby-gem) per configurare la `gem` CLI per utilizzare il tuo CodeArtifact repository con le credenziali appropriate.
**Nota**  
Il token di autorizzazione generato è valido per 12 ore. Dovrai crearne uno nuovo se sono trascorse 12 ore dalla creazione del token.

1. Usa il seguente comando per installare Ruby gems da: CodeArtifact

   ```
   gem install my_ruby_gem --version 1.0.0
   ```

### Installa Ruby gems con `bundle`
<a name="install-ruby-gems-bundle"></a>

Puoi usare la CLI Bundler (`bundle`) per installare le gemme Ruby configurate nel tuo. `Gemfile`

**Per installare Ruby gems da un repository con CodeArtifact `bundle`**

1. In caso contrario, segui i passaggi indicati [Configura RubyGems (`gem`) e Bundler () con `bundle` CodeArtifact](#configure-ruby-gem) per configurare la `bundle` CLI per utilizzare il tuo CodeArtifact repository con le credenziali appropriate.
**Nota**  
Il token di autorizzazione generato è valido per 12 ore. Dovrai crearne uno nuovo se sono trascorse 12 ore dalla creazione del token.

1. Aggiungi l'URL CodeArtifact dell'endpoint del tuo repository al tuo annuncio per `source` installare `Gemfile` le gemme Ruby configurate dal tuo CodeArtifact repository e dai suoi upstream.

   ```
   source "https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/ruby/my_repo/"
                   
   gem 'my_ruby_gem'
   ```

1. Usa il seguente comando per installare le gemme Ruby come specificato nel tuo: `Gemfile`

   ```
   bundle install
   ```

## Pubblicazione delle gemme di Ruby su CodeArtifact
<a name="publish-ruby-gems-gem"></a>

Usa la seguente procedura per pubblicare le gemme di Ruby in un CodeArtifact repository utilizzando la CLI. `gem`

1. In caso contrario, segui i passaggi indicati [Configura RubyGems (`gem`) e Bundler () con `bundle` CodeArtifact](#configure-ruby-gem) per configurare la `gem` CLI per utilizzare il tuo CodeArtifact repository con le credenziali appropriate.
**Nota**  
Il token di autorizzazione generato è valido per 12 ore. Dovrai crearne uno nuovo se sono trascorse 12 ore dalla creazione del token.

1. Usa il seguente comando per pubblicare le gemme di Ruby in un CodeArtifact repository. Nota che se non hai impostato la variabile di `RUBYGEMS_HOST` ambiente, devi fornire l'endpoint del CodeArtifact repository nell'opzione. `--host`

   ```
   gem push --key codeartifact_api_key my_ruby_gem-0.0.1.gem
   ```

# RubyGems supporto ai comandi
<a name="ruby-command-support"></a>

CodeArtifact supporta i `gem push` comandi `gem install` and. CodeArtifact non supporta i seguenti `gem` comandi:
+ `gem fetch`
+ `gem info --remote`
+ `gem list --remote`
+ `gem mirror`
+ `gem outdated`
+ `gem owner`
+ `gem query`
+ `gem search`
+ `gem signin`
+ `gem signout`
+ `gem sources --add`
+ `gem sources --update`
+ `gem specification --remote`
+ `gem update`
+ `gem yank`

# compatibilità con Bundler
<a name="bundler-compatibility"></a>

 Questa guida contiene informazioni sulla compatibilità CodeArtifact di Bundler. 

## Compatibilità con Bundler
<a name="ruby-bundler-support"></a>

AWS CodeArtifact consiglia Bundler 2.4.11 o versione successiva. Se riscontri problemi con l'installazione, aggiorna la CLI di Bundler alla versione più recente.

### Supporto della versione Bundler
<a name="ruby-bundler-version-support"></a>

Nelle versioni di Bundler precedenti alla 2.4.11, esiste un limite di 500 dipendenze che possono essere definite nel Gemfile prima che Bundler decida di interrogare l'indice completo,. `specs.4.8.gz` Poiché non CodeArtifact supporta l'indice completo, non è possibile specificare più di 500 dipendenze quando si utilizzano versioni di Bundler inferiori alla 2.4.11. CodeArtifact 

Per definire più di 500 dipendenze nel tuo Gemfile con CodeArtifact, aggiorna Bundler alla versione 2.4.11 o successiva.

### Supporto operativo Bundler
<a name="ruby-bundler-operations-support"></a>

CodeArtifactil supporto per RubyGems non include il Bundler Compact Index APIs (l'`/versions`API non è supportata). CodeArtifact supporta solo l'API Dependencies.

Inoltre, CodeArtifact non supporta le varie specifiche APIs, come. `specs.4.8.gz`