本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
透過 CodeArtifact 設定和使用 RubyGems 和 Bundler
在 CodeArtifact 中建立儲存庫後,您可以使用 RubyGems (gem) 和 Bundler (bundle) 來安裝和發佈 Gem。本主題說明如何設定套件管理員以驗證和使用 CodeArtifact 儲存庫。
使用 CodeArtifact 設定 RubyGems (gem) 和 Bundler (bundle)
若要使用 RubyGems (gem) 或 Bundler (bundle) 將 Gem 發佈至 AWS CodeArtifact 或取用 Gem,您必須先使用 CodeArtifact 儲存庫資訊來設定 Gem 套件,包括存取它的登入資料。請依照下列其中一個程序的步驟,使用 CodeArtifact 儲存庫端點資訊和登入資料來設定 和 gem bundle CLI 工具。
使用主控台指示設定 RubyGems 和 Bundler
您可以使用 主控台中的組態指示,將 Ruby 套件管理員連線至 CodeArtifact 儲存庫。主控台指示提供自訂命令,您可以執行這些命令來設定套件管理員,而不需要尋找和填寫 CodeArtifact 資訊。
-
開啟位於 https://console.aws.amazon.com/codesuite/codeartifact/home
的 AWS CodeArtifact 主控台。 -
在導覽窗格中,選擇儲存庫,然後選擇您要用於安裝或推送 Ruby Gem 套件的儲存庫。
-
選擇檢視連線指示。
-
選擇您的作業系統。
-
選擇您要使用 CodeArtifact 儲存庫設定的 Ruby 套件管理員用戶端。
-
遵循產生的說明,設定套件管理員用戶端從儲存庫安裝 Ruby Gem 套件或將 Ruby Gem 套件發佈到儲存庫。
手動設定 RubyGems 和 Bundler
如果您無法或不想使用主控台的組態指示,您可以使用下列指示,手動將 Ruby 套件管理員連線至 CodeArtifact 儲存庫。
在命令列中,使用下列命令來擷取 CodeArtifact 授權字符,並將其存放在 環境變數中。
以您的 CodeArtifact 網域名稱取代
my_domain。以網域擁有者 AWS 的帳戶 ID 取代
111122223333。如果您要存取您擁有之網域中的儲存庫,則不需要包含--domain-owner。如需詳細資訊,請參閱跨帳戶網域。
若要將 Ruby Gem 套件發佈到您的儲存庫,請使用下列命令來擷取 CodeArtifact 儲存庫的端點,並將其儲存在
RUBYGEMS_HOST環境變數中。gemCLI 使用此環境變數來判斷 Gem 的發佈位置。注意
或者,您可以使用
gem push命令為儲存庫端點提供--host選項,而不是使用RUBYGEMS_HOST環境變數。將
my_domain取代為您的 CodeArtifact 網域名稱。以網域擁有者 AWS 的帳戶 ID 取代
111122223333。如果您要存取您擁有之網域中的儲存庫,則不需要包含--domain-owner。如需詳細資訊,請參閱跨帳戶網域。將
my_repo取代為您的 CodeArtifact 儲存庫名稱。
下列 URL 是範例儲存庫端點:
https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/ruby/my_repo/注意
若要使用雙堆疊端點,請使用
codeartifact.端點。region.on.aws若要將 Ruby Gem 套件發佈至您的儲存庫,您必須編輯
~/.gem/credentials檔案以包含您的身分驗證字符,以使用 RubyGems 驗證 CodeArtifact。如果~/.gem/目錄或~/.gem/credentials檔案不存在,請建立目錄和檔案。-
若要使用 從儲存庫
gem安裝 Ruby Gem,您必須將儲存庫端點資訊和身分驗證字符新增至.gemrc檔案。您可以將其新增至全域檔案 (~/.gemrc) 或專案.gemrc檔案。您必須新增至 的 CodeArtifact 資訊.gemrc是儲存庫端點和身分驗證字符的組合。其格式如下:https://aws:${CODEARTIFACT_AUTH_TOKEN}@my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/ruby/my_repo/對於身分驗證字符,您可以使用先前步驟中設定
CODEARTIFACT_AUTH_TOKEN的環境變數。若要擷取儲存庫端點,您可以讀取先前設定
RUBYGEMS_HOST的環境變數值,也可以使用下列get-repository-endpoint命令,視需要取代這些值:aws codeartifact get-repository-endpoint --domainmy_domain--domain-owner111122223333--repositorymy_repo--format ruby --query repositoryEndpoint --output text
在您擁有端點之後,請使用文字編輯器將
aws:${CODEARTIFACT_AUTH_TOKEN}@新增至適當的位置。建立儲存庫端點和身分驗證字符字串後,請使用echo命令將其新增至.gemrc檔案的:sources:區段,如下所示:警告
CodeArtifact 不支援使用
gem sources -add命令將儲存庫新增為來源。您必須直接將來源新增至 檔案。 若要使用 Bundler,您必須執行下列
bundle config命令,以儲存庫端點 URL 和身分驗證字符來設定 Bundler:
現在您已使用 CodeArtifact 儲存庫設定 RubyGems (gem) 和 Bundler (bundle),您可以使用它們在其中發佈和使用 Ruby Gem。
從 CodeArtifact 安裝 Ruby Gem
使用下列程序,透過 gem或 CLI 工具從 CodeArtifact bundle 儲存庫安裝 Ruby Gem。
使用 安裝 Ruby Gem 套件 gem
您可以使用 RubyGems (gem) CLI,從 CodeArtifact 儲存庫快速安裝特定版本的 Ruby Gem。
使用 從 CodeArtifact 儲存庫安裝 Ruby Gem gem
如果您尚未執行,請依照中的步驟使用 CodeArtifact 設定 RubyGems (gem) 和 Bundler (bundle)設定
gemCLI,以使用具有適當登入資料的 CodeArtifact 儲存庫。注意
產生的授權字符有效期為 12 小時。如果自建立權杖後已經過 12 小時,您將需要建立新的權杖。
-
使用以下命令從 CodeArtifact 安裝 Ruby Gem:
gem installmy_ruby_gem--version1.0.0
使用 安裝 Ruby Gem 套件 bundle
您可以使用 Bundler (bundle) CLI 安裝在 中設定的 Ruby GemGemfile。
使用 從 CodeArtifact 儲存庫安裝 Ruby Gem bundle
如果您尚未執行,請依照 中的步驟使用 CodeArtifact 設定 RubyGems (gem) 和 Bundler (bundle)設定
bundleCLI,以使用具有適當登入資料的 CodeArtifact 儲存庫。注意
產生的授權字符有效期為 12 小時。如果自建立權杖後已經過 12 小時,您將需要建立新的權杖。
將 CodeArtifact 儲存庫端點 URL 新增至您的
Gemfile,source以從 CodeArtifact 儲存庫及其上游安裝設定的 Ruby Gem。source "https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/ruby/my_repo/" gem 'my_ruby_gem'-
使用下列命令來安裝 Ruby Gem 套件,如 中所指定
Gemfile:bundle install
將 Ruby Gem 套件發佈至 CodeArtifact
使用下列程序,使用 CLI 將 Ruby Gem 套件發佈至 CodeArtifact gem 儲存庫。
如果您尚未執行,請依照中的步驟使用 CodeArtifact 設定 RubyGems (gem) 和 Bundler (bundle)設定
gemCLI,以使用具有適當登入資料的 CodeArtifact 儲存庫。注意
產生的授權字符有效期為 12 小時。如果自建立權杖後已經過 12 小時,您將需要建立新的權杖。
-
使用下列命令將 Ruby Gem 套件發佈至 CodeArtifact 儲存庫。請注意,如果您未設定
RUBYGEMS_HOST環境變數,則必須在--host選項中提供 CodeArtifact 儲存庫端點。gem push --key codeartifact_api_keymy_ruby_gem-0.0.1.gem