CodeArtifact で RubyGems と Bundler を設定して使用する
CodeArtifact でリポジトリを作成したら、RubyGems (gem) と Bundler (bundle) を使用して gem をインストールして公開できます。このトピックでは、CodeArtifact リポジトリの認証と使用のためにパッケージマネージャーを設定する方法について説明します。
CodeArtifact で RubyGems (gem) と Bundler (bundle) を設定する
RubyGems (gem) または Bundler (bundle) を使用して AWS CodeArtifact に gem を公開したり、CodeArtifact から gem を使用したりするには、まず CodeArtifact リポジトリ情報を使用して設定する必要があります。これには、アクセスするための認証情報が含まれます。次のいずれかの手順に沿って、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 認可トークンを取得し、認可トークンを環境変数に保存します。
my_domainを CodeArtifact ドメイン名に置き換えます。111122223333をAWS ドメインの所有者のアカウント ID に置き換えます。所有しているドメインのリポジトリにアクセスする場合は、--domain-ownerを含める必要はありません。詳細については、「クロスアカウントドメイン」を参照してください。
Ruby の gem をリポジトリに公開するには、次のコマンドを使用して CodeArtifact リポジトリのエンドポイントを取得し、
RUBYGEMS_HOST環境変数に保存します。gemCLI はこの環境変数を使用して、gem が公開される場所を決定します。注記
または、
RUBYGEMS_HOST環境変数を使用する代わりに、gem pushコマンドを使用するときにリポジトリエンドポイントに--hostオプションを指定することもできます。my_domainを CodeArtifact ドメイン名に置き換えます。111122223333をAWS ドメインの所有者のアカウント ID に置き換えます。所有しているドメインのリポジトリにアクセスする場合は、--domain-ownerを含める必要はありません。詳細については、「クロスアカウントドメイン」を参照してください。my_repoを CodeArtifact リポジトリ名で置き換えます。
次の URL は、リポジトリエンドポイントの例です。
https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/ruby/my_repo/注記
デュアルスタックエンドポイントを使用するには、
codeartifact.エンドポイントを使用してください。region.on.awsRuby の gem をリポジトリに公開するには、
~/.gem/credentialsファイルを編集して認証トークンを含めることで、RubyGems で CodeArtifact を認証する必要があります。~/.gem/ディレクトリまたは~/.gem/credentialsファイルが存在しない場合は、ディレクトリとファイルを作成します。-
gemを使用してリポジトリから Ruby gem をインストールするには、リポジトリエンドポイント情報と認証トークンを.gemrcファイルに追加する必要があります。グローバルファイル (~/.gemrc) またはプロジェクト.gemrcファイルに追加できます。.gemrcに追加する必要がある CodeArtifact 情報は、リポジトリエンドポイントと認証トークンの組み合わせです。形式は次のとおりです。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 を公開し、そこから gem を使用できます。
CodeArtifact からの Ruby gem のインストール
gem または bundle CLI ツールを使用して CodeArtifact リポジトリから Ruby の gem をインストールするには、次の手順に従います。
gem で Ruby gem をインストールする
RubyGems (gem) CLI を使用すると、CodeArtifact リポジトリから特定のバージョンの Ruby gem をすばやくインストールできます。
gem を使用して CodeArtifact リポジトリから Ruby gem をインストールする方法
まだ
gemCLI を設定していない場合は、「CodeArtifact で RubyGems (gem) と Bundler (bundle) を設定する」の手順に従って、CodeArtifact リポジトリを使用するように適切な認証情報を使用して設定します。注記
認可トークンの有効期限は 12 時間です。トークンの作成後 12 時間が経過した場合は、新しいトークンを作成する必要があります。
-
次のコマンドを使用して、CodeArtifact から Ruby gem をインストールします。
gem installmy_ruby_gem--version1.0.0
bundle で Ruby gem をインストールする
Bundler (bundle) CLI を使用して、Gemfile で設定された Ruby gem をインストールできます。
bundle を使用して CodeArtifact リポジトリから Ruby gem をインストールする方法
まだ
bundleCLI を設定していない場合は、「CodeArtifact で RubyGems (gem) と Bundler (bundle) を設定する」の手順に従って、CodeArtifact リポジトリを使用するように適切な認証情報を使用して設定します。注記
認可トークンの有効期限は 12 時間です。トークンの作成後 12 時間が経過した場合は、新しいトークンを作成する必要があります。
CodeArtifact リポジトリエンドポイント URL を
sourceとしてGemfileに追加し、CodeArtifact リポジトリとそのアップストリームから設定済みの Ruby gem をインストールします。source "https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/ruby/my_repo/" gem 'my_ruby_gem'-
次のコマンドを使用して、
Gemfileで指定された Ruby gem をインストールします。bundle install
CodeArtifact への Ruby gem の公開
gem CLI を使用して Ruby の gem を CodeArtifact リポジトリに公開するには、次の手順に従います。
まだ
gemCLI を設定していない場合は、「CodeArtifact で RubyGems (gem) と Bundler (bundle) を設定する」の手順に従って、CodeArtifact リポジトリを使用するように適切な認証情報を使用して設定します。注記
認可トークンの有効期限は 12 時間です。トークンの作成後 12 時間が経過した場合は、新しいトークンを作成する必要があります。
-
次のコマンドを使用して、Ruby の gem を CodeArtifact リポジトリに公開します。
RUBYGEMS_HOST環境変数を設定していない場合は、--hostオプションで CodeArtifact リポジトリエンドポイントを指定する必要があります。gem push --key codeartifact_api_keymy_ruby_gem-0.0.1.gem