注: サイト管理者はそれぞれのサポートされているパッケージの種類を有効化あるいは無効化できるので、このパッケージの種類はインスタンスで利用できないかもしれません。 詳細については、「エンタープライズ向けのパッケージ サポートの構成」を参照してく� さい。
GitHub Packages への認証を行う
パッケージを発行、インストール、および削除するには、アクセス トークンが必要です。
個人アクセス トークン (PAT) を使用し、GitHub Packages または GitHub Enterprise Server API の認証を受けることができます。 個人トークンを作成する際には、必要に応じて様々なスコープをトークンに割り当てできます。 PAT のパッケージ関連のスコープの詳細については、「GitHub パッケージのアクセス許可について」を参照してく� さい。
GitHub Actionsワークフロー内でGitHub Packagesレジストリに認証を受けるには、以下の方法が使えます。
GITHUB_TOKEN
では、ワークフロー リポジトリに関連付けられているパッケージを発行します。packages:read
以上のスコープが設定された PAT では、(GITHUB_TOKEN
ではアクセスできない) 他のプライベート リポジトリに関連付けられているパッケージがインストールされます。
GitHub Actions ワークフローで使用される GITHUB_TOKEN
の詳細については、「ワークフローで認証する」を参照してく� さい。
個人アクセストークンでの認証
GitHub Packages内でパッケージを公開及びインストールするためには、適切なスコープで個人アクセストークンを使わなければなりません。 詳しくは、「GitHub Packages について」をご覧く� さい。
~/.m2/settings.xml ファイルを編集して個人アクセストークンを含めることで、Apache Maven でGitHub Packagesの認証を受けられます。 ~/.m2/settings.xml ファイルが存在しない� �合は新しく作成します。
servers
タグでid
のある子server
タグを追� し、USERNAME はご自分の GitHub ユーザー名と、TOKEN はご自分の個人アクセス トークンと置き換えます。
repositories
タグで、リポジトリの id
を、資� �情� �を含む server
タグ追� した id
にマッピングして、リポジトリを構成します。 HOSTNAME を のホスト名に置き換え、 OWNER をリポジトリを所有するユーザーまたは Organization の名前に置き換えます。 大文字はサポートされていないため、仮にGitHubのユーザあるいはOrganization名が大文字を含んでいても、リポジトリオーナーには小文字を使わなければなりません。
複数のリポジトリとやりとりする� �合は、各リポジトリを repositories
タグ内の個別の repository
の子に追� し、それぞれの id
を servers
タグ内の資� �情� �にマッピングします。
GitHub Packages では Apache Maven の SNAPSHOT
バージョンがサポートされています。 SNAPSHOT
成果物のダウンロードに GitHub Packages リポジトリを使用するには、それを使用するプロジェクトまたは ~/.m2/settings.xml ファイルの POM で SNAPSHOTS を有効にします。
インスタンスで Subdomain Isolation が有効になっている� �合:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
<activeProfiles>
<activeProfile>github</activeProfile>
</activeProfiles>
<profiles>
<profile>
<id>github</id>
<repositories>
<repository>
<id>central</id>
<url>https://repo1.maven.org/maven2</url>
</repository>
<repository>
<id>github</id>
<url>https://maven.HOSTNAME/OWNER/REPOSITORY</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
</profile>
</profiles>
<servers>
<server>
<id>github</id>
<username>USERNAME</username>
<password>TOKEN</password>
</server>
</servers>
</settings>
インスタンスで Subdomain Isolation が無効になっている� �合:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
<activeProfiles>
<activeProfile>github</activeProfile>
</activeProfiles>
<profiles>
<profile>
<id>github</id>
<repositories>
<repository>
<id>central</id>
<url>https://repo1.maven.org/maven2</url>
</repository>
<repository>
<id>github</id>
<url>HOSTNAME/_registry/maven/OWNER/REPOSITORY</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
</profile>
</profiles>
<servers>
<server>
<id>github</id>
<username>USERNAME</username>
<password>TOKEN</password>
</server>
</servers>
</settings>
パッケージの公開
デフォルトでは、GitHubはパッケージはそのままの名前で既存のリポジトリに公開されます。 たとえば、GitHubは OWNER/test
というリポジトリ内の com.example:test
という名前のパッケージを公開します。
複数のパッケージを同じリポジトリに公開する� �合は、リポジトリの URL を pom.xml ファイルの <distributionManagement>
要� に含めることができます。 GitHub は、このこのフィールドを元にしてリポジトリを照合します。 リポジトリ名も distributionManagement
要� の一部なので、複数のパッケージを同じリポジトリに公開するための追� 手� �はありません。
パッケージの作成について詳しくは、maven.apache.org のドキュメントを参照してく� さい。
-
パッケージ ディレクトリにある pom.xml ファイルの
distributionManagement
要� を編集し、HOSTNAME を のホスト名に、OWNER
をリポジトリを所有するユーザーまたは Organization のアカウント名に、REPOSITORY
をプロジェクトを含むリポジトリ名で置き換えます。もしもインスタンスでSubdomain Isolationが有効化されているなら:
<distributionManagement> <repository> <id>github</id> <name>GitHub OWNER Apache Maven Packages</name> <url>https://maven.HOSTNAME/OWNER/REPOSITORY</url> </repository> </distributionManagement>
If your instance has subdomain isolation disabled:
<distributionManagement> <repository> <id>github</id> <name>GitHub OWNER Apache Maven Packages</name> <url>https://HOSTNAME/_registry/maven/OWNER/REPOSITORY</url> </repository> </distributionManagement>
-
Publish the package.
$ mvn deploy
パッケージを公開した後は、GitHub上でそのパッケージを見ることができます。 詳しくは、「パッケージの表示」をご覧く� さい。
パッケージのインストール
Apache Maven パッケージを GitHub Packages 空インストールするには、パッケージを依存関係として含めるように pom.xml ファイルを編集します。 複数のリポジトリからパッケージをインストールしたい� �合は、それぞれについて repository
タグを追� します。 プロジェクトで pom.xml ファイルを使用する方法について詳しくは、Apache Maven ドキュメントの「POM の概要」を参照してく� さい。
-
GitHub Packagesに認証を受けてく� さい。 詳細については、「GitHub Packages への認証」を参照してく� さい。
-
パッケージの依存関係をプロジェクト pom.xml ファイルの
dependencies
要� に追� し、com.example:test
をご自分のパッケージに置き換えます。<dependencies> <dependency> <groupId>com.example</groupId> <artifactId>test</artifactId> <version>1.0.0-SNAPSHOT</version> </dependency> </dependencies>
-
パッケージをインストールします。
$ mvn install