

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

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

Topik-topik ini menjelaskan cara menggunakan alat RubyGems dan Bundler CodeArtifact untuk menginstal dan menerbitkan permata Ruby.

**catatan**  
CodeArtifact merekomendasikan Ruby 3.3 atau yang lebih baru dan tidak bekerja dengan Ruby 2.6 atau lebih tua.

**Topics**
+ [Konfigurasikan dan gunakan RubyGems dan Bundler](configure-use-rubygems-bundler.md)
+ [

# RubyGems dukungan perintah
](ruby-command-support.md)
+ [Kompatibilitas Bundler](bundler-compatibility.md)

# Konfigurasikan dan gunakan RubyGems dan Bundler dengan CodeArtifact
<a name="configure-use-rubygems-bundler"></a>

Setelah Anda membuat repositori di CodeArtifact, Anda dapat menggunakan RubyGems (`gem`) dan Bundler (`bundle`) untuk menginstal dan menerbitkan permata. Topik ini menjelaskan cara mengkonfigurasi manajer paket untuk mengautentikasi dengan dan menggunakan CodeArtifact repositori.

## Konfigurasikan RubyGems (`gem`) dan Bundler (`bundle`) dengan CodeArtifact
<a name="configure-ruby-gem"></a>

Untuk menggunakan RubyGems (`gem`) atau Bundler (`bundle`) untuk mempublikasikan permata ke atau menggunakan permata dari AWS CodeArtifact, Anda harus terlebih dahulu mengonfigurasinya dengan informasi CodeArtifact repositori Anda, termasuk kredensional untuk mengaksesnya. Ikuti langkah-langkah dalam salah satu prosedur berikut untuk mengonfigurasi alat `gem` dan `bundle` CLI dengan informasi titik akhir CodeArtifact repositori dan kredenal Anda.

### Konfigurasikan RubyGems dan Bundler menggunakan instruksi konsol
<a name="configure-ruby-gem-console"></a>

Anda dapat menggunakan instruksi konfigurasi di konsol untuk menghubungkan manajer paket Ruby Anda ke CodeArtifact repositori Anda. Instruksi konsol menyediakan perintah khusus yang dapat Anda jalankan untuk mengatur pengelola paket tanpa perlu menemukan dan mengisi CodeArtifact informasi Anda.

1. Buka AWS CodeArtifact konsol di [https://console.aws.amazon.com/codesuite/codeartifact/home](https://console.aws.amazon.com/codesuite/codeartifact/home).

1. Di panel navigasi, pilih **Repositori, lalu pilih repositori** yang ingin Anda gunakan untuk menginstal atau mendorong permata Ruby.

1. Pilih **Lihat petunjuk koneksi**.

1. Pilih sistem operasi Anda.

1. Pilih klien manajer paket Ruby yang ingin Anda konfigurasikan dengan CodeArtifact repositori Anda.

1. Ikuti instruksi yang dihasilkan untuk mengonfigurasi klien manajer paket untuk menginstal permata Ruby dari atau menerbitkan permata Ruby ke repositori.

### Konfigurasikan RubyGems dan Bundler secara manual
<a name="configure-ruby-gem-manual"></a>

Jika Anda tidak dapat atau tidak ingin menggunakan instruksi konfigurasi dari konsol, Anda dapat menggunakan instruksi berikut untuk menghubungkan ke manajer paket Ruby Anda ke CodeArtifact repositori Anda secara manual. 

1. Dalam baris perintah, gunakan perintah berikut untuk mengambil token CodeArtifact otorisasi dan menyimpannya dalam variabel lingkungan.
   + Ganti *my\$1domain* dengan nama CodeArtifact domain Anda.
   + Ganti *111122223333* dengan ID AWS akun pemilik domain. Jika Anda mengakses repositori di domain milik Anda, Anda tidak perlu menyertakan `--domain-owner`. Untuk informasi selengkapnya, lihat [Domain lintas akun](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 (menggunakan shell perintah default):

     ```
     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
     ```
   + Jendela PowerShell:

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

------

1. Untuk mempublikasikan permata Ruby ke repositori Anda, gunakan perintah berikut untuk mengambil endpoint CodeArtifact repositori Anda dan menyimpannya dalam variabel lingkungan. `RUBYGEMS_HOST` `gem`CLI menggunakan variabel lingkungan ini untuk menentukan di mana permata diterbitkan.
**catatan**  
Atau, alih-alih menggunakan variabel `RUBYGEMS_HOST` lingkungan, Anda dapat memberikan titik akhir repositori dengan `--host` opsi saat menggunakan perintah. `gem push`
   + Ganti *my\$1domain* dengan nama CodeArtifact domain Anda.
   + Ganti *111122223333* dengan ID AWS akun pemilik domain. Jika Anda mengakses repositori di domain milik Anda, Anda tidak perlu menyertakan `--domain-owner`. Untuk informasi selengkapnya, lihat [Domain lintas akun](domain-overview.md#domain-overview-cross-account).
   + Ganti *my\$1repo* dengan nama CodeArtifact repositori Anda.

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

   Perintah berikut mengambil titik akhir repositori, memangkas trailing`/`, lalu menyimpannya dalam variabel lingkungan.
   + Windows (menggunakan shell perintah default):

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

------

   URL berikut adalah contoh titik akhir repositori:

   ```
   https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/ruby/my_repo/
   ```
**catatan**  
Untuk menggunakan endpoint dualstack, gunakan endpoint. `codeartifact.region.on.aws`

1. Untuk mempublikasikan permata Ruby ke repositori Anda, Anda harus mengautentikasi CodeArtifact RubyGems dengan mengedit `~/.gem/credentials` file Anda untuk menyertakan token autentikasi Anda. Buat `~/.gem/` direktori dan `~/.gem/credentials` file jika direktori atau file tidak ada.

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

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

------
#### [ Windows ]
   + Windows (menggunakan shell perintah default):

     ```
     echo :codeartifact_api_key: Bearer %CODEARTIFACT_AUTH_TOKEN% >> %USERPROFILE%/.gem/credentials
     ```
   + Jendela PowerShell:

     ```
     echo ":codeartifact_api_key: Bearer $env:CODEARTIFACT_AUTH_TOKEN" | Add-Content ~/.gem/credentials
     ```

------

1. Untuk menggunakan `gem` untuk menginstal permata Ruby dari repositori Anda, Anda harus menambahkan informasi titik akhir repositori dan token autentikasi ke file Anda. `.gemrc` Anda dapat menambahkannya ke file global (`~/.gemrc`) atau `.gemrc` file proyek Anda. CodeArtifact Informasi yang harus Anda tambahkan `.gemrc` adalah kombinasi dari titik akhir repositori dan token autentikasi. Ini diformat sebagai berikut:

   ```
   https://aws:${CODEARTIFACT_AUTH_TOKEN}@my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/ruby/my_repo/
   ```
   + Untuk token otentikasi, Anda dapat menggunakan variabel `CODEARTIFACT_AUTH_TOKEN` lingkungan yang ditetapkan pada langkah sebelumnya.
   + Untuk mengambil titik akhir repositori, Anda dapat membaca nilai variabel `RUBYGEMS_HOST` lingkungan yang telah ditetapkan sebelumnya, atau Anda dapat menggunakan `get-repository-endpoint` perintah berikut, mengganti nilai yang diperlukan:

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

   Setelah Anda memiliki titik akhir, gunakan editor teks untuk menambahkan `aws:${CODEARTIFACT_AUTH_TOKEN}@` posisi yang sesuai. Setelah Anda memiliki titik akhir repositori dan string token auth dibuat, tambahkan ke `:sources:` bagian `.gemrc` file Anda dengan perintah sebagai berikut`echo`:
**Awas**  
CodeArtifact tidak mendukung penambahan repositori sebagai sumber menggunakan perintah. `gem sources -add` Anda harus menambahkan sumber langsung ke 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 (menggunakan shell perintah default):

     ```
     echo ":sources:
         - https://aws:%CODEARTIFACT_AUTH_TOKEN%@my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/ruby/my_repo/" > "%USERPROFILE%\.gemrc"
     ```
   + Jendela 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. Untuk menggunakan Bundler, Anda harus mengkonfigurasi Bundler dengan URL endpoint repositori dan token otentikasi Anda dengan menjalankan perintah berikut: `bundle config`

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

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

------
#### [ Windows ]
   + Windows (menggunakan shell perintah default):

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

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

------

Sekarang Anda telah mengkonfigurasi RubyGems (`gem`) dan Bundler (`bundle`) dengan CodeArtifact repositori Anda, Anda dapat menggunakannya untuk menerbitkan dan menggunakan permata Ruby ke dan dari itu.

## Memasang permata Ruby dari CodeArtifact
<a name="install-ruby-gems"></a>

Gunakan prosedur berikut untuk menginstal permata Ruby dari CodeArtifact repositori dengan alat atau `gem` CLI`bundle`.

### Instal permata Ruby dengan `gem`
<a name="install-ruby-gems-gem"></a>

Anda dapat menggunakan RubyGems (`gem`) CLI untuk dengan cepat menginstal versi tertentu dari permata Ruby dari repositori Anda. CodeArtifact 

**Untuk menginstal permata Ruby dari CodeArtifact repositori dengan `gem`**

1. Jika belum, ikuti langkah-langkah [Konfigurasikan RubyGems (`gem`) dan Bundler (`bundle`) dengan CodeArtifact](#configure-ruby-gem) untuk mengonfigurasi `gem` CLI untuk menggunakan CodeArtifact repositori Anda dengan kredensi yang tepat.
**catatan**  
Token otorisasi yang dihasilkan berlaku selama 12 jam. Anda harus membuat yang baru jika 12 jam telah berlalu sejak token dibuat.

1. Gunakan perintah berikut untuk menginstal permata Ruby dari CodeArtifact:

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

### Instal permata Ruby dengan `bundle`
<a name="install-ruby-gems-bundle"></a>

Anda dapat menggunakan CLI Bundler (`bundle`) untuk menginstal permata Ruby yang dikonfigurasi di Anda. `Gemfile`

**Untuk menginstal permata Ruby dari CodeArtifact repositori dengan `bundle`**

1. Jika belum, ikuti langkah-langkah [Konfigurasikan RubyGems (`gem`) dan Bundler (`bundle`) dengan CodeArtifact](#configure-ruby-gem) untuk mengonfigurasi `bundle` CLI untuk menggunakan CodeArtifact repositori Anda dengan kredensi yang tepat.
**catatan**  
Token otorisasi yang dihasilkan berlaku selama 12 jam. Anda harus membuat yang baru jika 12 jam telah berlalu sejak token dibuat.

1. Tambahkan URL titik akhir CodeArtifact repositori Anda ke Anda `Gemfile` sebagai `source` untuk menginstal permata Ruby yang dikonfigurasi dari CodeArtifact repositori Anda dan upstreams nya.

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

1. Gunakan perintah berikut untuk menginstal permata Ruby seperti yang ditentukan dalam: `Gemfile`

   ```
   bundle install
   ```

## Menerbitkan permata Ruby ke CodeArtifact
<a name="publish-ruby-gems-gem"></a>

Gunakan prosedur berikut untuk mempublikasikan permata Ruby ke CodeArtifact repositori menggunakan CLI. `gem`

1. Jika belum, ikuti langkah-langkah [Konfigurasikan RubyGems (`gem`) dan Bundler (`bundle`) dengan CodeArtifact](#configure-ruby-gem) untuk mengonfigurasi `gem` CLI untuk menggunakan CodeArtifact repositori Anda dengan kredensi yang tepat.
**catatan**  
Token otorisasi yang dihasilkan berlaku selama 12 jam. Anda harus membuat yang baru jika 12 jam telah berlalu sejak token dibuat.

1. Gunakan perintah berikut untuk menerbitkan permata Ruby ke CodeArtifact repositori. Perhatikan bahwa jika Anda tidak mengatur variabel `RUBYGEMS_HOST` lingkungan, Anda harus memberikan titik akhir CodeArtifact repositori Anda dalam opsi. `--host`

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

# RubyGems dukungan perintah
<a name="ruby-command-support"></a>

CodeArtifact mendukung `gem install` dan `gem push` perintah. CodeArtifact tidak mendukung `gem` perintah berikut:
+ `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`

# Kompatibilitas Bundler
<a name="bundler-compatibility"></a>

 Panduan ini berisi informasi tentang CodeArtifact kompatibilitas dengan Bundler. 

## Kompatibilitas Bundler
<a name="ruby-bundler-support"></a>

AWS CodeArtifact merekomendasikan Bundler 2.4.11 atau lebih tinggi. Jika Anda mengalami masalah dengan instalasi, perbarui CLI Bundler ke versi terbaru.

### Dukungan versi Bundler
<a name="ruby-bundler-version-support"></a>

Dalam versi Bundler yang lebih rendah dari 2.4.11, ada batas 500 dependensi yang dapat didefinisikan dalam Gemfile sebelum Bundler memutuskan untuk menanyakan indeks penuh,. `specs.4.8.gz` Karena CodeArtifact tidak mendukung indeks penuh, menentukan lebih dari 500 dependensi tidak akan berfungsi CodeArtifact saat menggunakan versi Bundler yang lebih rendah dari 2.4.11.

Untuk menentukan lebih dari 500 dependensi di Gemfile Anda CodeArtifact, perbarui Bundler ke versi 2.4.11 atau lebih tinggi.

### Dukungan operasi Bundler
<a name="ruby-bundler-operations-support"></a>

CodeArtifactdukungan untuk RubyGems tidak menyertakan Bundler Compact Index APIs (`/versions`API tidak didukung). CodeArtifact hanya mendukung API Dependensi.

Selain itu, CodeArtifact tidak mendukung berbagai spesifikasi APIs, seperti`specs.4.8.gz`.