.com にある にアクセスする場合は、パッケージを https://rubygems.pkg..com に公開します。 この記事の例では、この URL を使用しています。
octocorp.ghe.com
など別のドメインで にアクセスする場合は、"https://rubygems.pkg..com" を https://rubygems.SUBDOMAIN.ghe.com
に置き換えます。ここで、SUBDOMAIN
はエンタープライズの一意のサブドメインです。
RubyGemsは2.4.1以降を使わなければなりません。 RubyGemsのバージョンは、以下のようにすれば分かります。
gem --version
Bundler 1.6.4 以降が必要です。 Bundlerのバージョンは以下のようにすれば分かります。
$ bundle --version Bundler version 1.13.7
メモ
Packages では、personal access token (classic)を使用した認証のみがサポートされています。 詳しくは、「個人用アクセス トークンを管理する」をご覧ください。
非公開パッケージ、内部パッケージ、公開パッケージを発行、インストール、削除するには、アクセス トークンが必要です。
Packages、あるいは API で認証を受けるのに、personal access token (classic) を利用できます。 personal access token (classic) を作成するときは、必要に応じてさまざまなスコープをトークンに割り当てることができます。 personal access token (classic) のパッケージ関連のスコープについては、「 Packagesの権限について」を参照してください。
Actionsワークフロー内で Packagesレジストリに認証を受けるには、以下の方法が使えます。
_TOKEN
では、ワークフロー リポジトリに関連付けられているパッケージを発行します。- 他のプライベート リポジトリに関連付けられたパッケージをインストールするために、少なくとも
read:packages
スコープが設定された personal access token (classic) (リポジトリにパッケージへの読み取りアクセス権が付与されている場合は、_TOKEN
を使用できます)。 「パッケージのアクセス制御と可視性の設定」を参照してください)。
このレジストリでは、詳細なアクセス許可がサポートされています。 細かなアクセス許可をサポートするレジストリについては、 Actions ワークフローで personal access token を使ってレジストリの認証を受ける場合は _TOKEN
を使うようにワークフローを更新することを強くお勧めします。 personal access token を使ってレジストリに対する認証を行うワークフローの更新に関するガイダンスについては、「 Actionsでのパッケージの公開とインストール」をご覧ください。
メモ
REST API を使ってパッケージを削除および復元する Actions ワークフローの機能は、現在 パブリック プレビュー 段階であり、変更される可能性があります。
トークンにパッケージに対する admin
アクセス許可がある場合、 Actions ワークフローで _TOKEN
を使用し、REST API を使ってパッケージを削除または復元できます。 ワークフローを使ってパッケージを発行するリポジトリと、パッケージに明示的に接続したリポジトリには、リポジトリ内のパッケージに対する admin
アクセス許可が自動的に付与されます。
_TOKEN
の詳細については、「自動トークン認証」を参照してください。 アクションでレジストリを使うときのベスト プラクティスについて詳しくは、「 Actions のセキュリティ強化」をご覧ください。
また、 Codespaces と Actions に対して、パッケージにアクセス許可を個別に付与することもできます。 詳細については、「パッケージのアクセス制御と可視性の設定」および「パッケージのアクセス制御と可視性の設定」を参照してください。
で認証を行う
Packages でパッケージを発行およびインストールするには、適切なスコープで personal access token (classic) を使う必要があります。 詳しくは、「 Packages の概要」をご覧ください。
gem を公開してインストールするには、personal access tokenを使って Packages に対する認証を行うように、RubyGems または Bundler を構成できます。
新しい gem を公開するには、 ~/.gem/credentials ファイルを編集してpersonal access token (classic)を含めることによって、RubyGems で Packages に対して認証を行う必要があります。 このファイルが存在しない場合は、新しい ~/.gem/credentials ファイルを作成します。
たとえば、以下を含むように ~/.gem/credentials を作成または編集し、TOKEN をpersonal access tokenに置き換えます。
---
:: Bearer TOKEN
gem をインストールするには、https://USERNAME:[email protected]/NAMESPACE/
を含むように gem ソースを更新することによって、 Packages に対する認証を行う必要があります。 以下のように置き換えてください。
USERNAME
を に。TOKEN
をpersonal access token (classic) に。NAMESPACE
を、gem がスコープ設定されている個人アカウントまたは Organization の名前に。
パッケージをグローバルに使用できるようにする場合は、次のコマンドを実行して、レジストリをソースとして追加できます。
gem sources --add https://USERNAME:[email protected]/NAMESPACE/
Bundler で認証を行うには、personal access token (classic) を使うように Bundler を構成します。USERNAME は のユーザー名、TOKEN はpersonal access token、NAMESPACE は gem がスコープ設定されている個人アカウントまたは Organization の名前に、それぞれ置き換えます。のホスト名に置き換えてください。
bundle config https://rubygems.pkg..com/NAMESPACE USERNAME:TOKEN
パッケージを最初に公開する際のデフォルトの可視性はプライベートです。 可視性の変更やアクセス許可の設定については、「パッケージのアクセス制御と可視性の設定」を参照してください。gem の作成の詳細については、RubyGems ドキュメントの「Make your own gem」(自分の gem を作成する) を参照してください。
メモ
リポジトリにリンクされているパッケージを公開した場合、organization でアクセス許可の自動継承が無効にされていない限り、パッケージはリンクされたリポジトリのアクセス許可を自動的に継承し、リンクされたリポジトリ内の Actions ワークフローは自動的にパッケージにアクセスできるようになります。 詳しくは、「パッケージのアクセス制御と可視性の設定」をご覧ください。
Packagesに認証を受けてください。 詳しくは、「 Packages への認証」をご覧ください。
gemspec からパッケージをビルドして、gem パッケージを作成します。
GEM_NAME
を gem の名前に置き換えます。gem build GEM_NAME.gemspec
パッケージを Packages に公開します。
NAMESPACE
をパッケージがスコープ設定されている個人アカウントまたは Organization の名前に、またGEM_NAME
を gem パッケージの名前に置き換えます。のホスト名に置き換えてください。メモ
gem の
metadata.gz
ファイルの圧縮されていない最大サイズは、2 MB 未満である必要があります。 その制限を超える gem をプッシュする要求は失敗します。$ gem push --key \ --host https://rubygems.pkg..com/NAMESPACE \ GEM_NAME-0.0.1.gem
RubyGems レジストリを使用すると、Organization または個人のアカウント内にパッケージを格納し、パッケージをリポジトリに関連付けることができます。 権限をリポジトリから継承するか、リポジトリとは別に細かい権限を設定するかを選ぶことができます。
gem が発行されるとすぐにリポジトリにリンクされるようにするには、gem.metadata
の _repo
フィールドに リポジトリの URL を含めます。 複数の gem を同じリポジトリにリンクできます。
gem.metadata = { "_repo" => "ssh://.com/OWNER/REPOSITORY" }
公開されているパッケージをリポジトリにリンクする方法については、「リポジトリのパッケージへの接続」を参照してください。
Packages の gem は、rubygems.org の gem を使うのと同じように使用できます。 ユーザーまたは Organization をソースとして ~/.gemrc ファイルに追加するか、Bundler を使用して Gemfile を編集することで、 Packages に対して認証を行う必要があります。
Packagesに認証を受けてください。 詳しくは、「 Packages への認証」をご覧ください。
Bundler については、 ユーザーまたは Organization をソースとして Gemfile に追加して、この新しいソースから gem をフェッチするようにします。 たとえば、指定したパッケージに対してのみ Packagesを使用する新しい
source
ブロックを Gemfile に追加できます。GEM_NAME
を、 Packagesからインストールするパッケージに、NAMESPACE
を、インストールする gem がスコープ設定されている個人アカウントまたは Organization に置き換えます。のホスト名に置き換えてください。source "https://rubygems.org" gem "rails" source "https://rubygems.pkg..com/NAMESPACE" do gem "GEM_NAME" end
1.7.0 より前の Bundler バージョンの場合は、新しいグローバルな
source
を追加する必要があります。 Bundler の使用方法の詳細については、bundler.io のドキュメントを参照してください。source "https://rubygems.pkg..com/NAMESPACE" source "https://rubygems.org" gem "rails" gem "GEM_NAME"
パッケージをインストールしてください。
gem install GEM_NAME --version "0.1.1"