ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。

GitHub パッケージレジストリで利用するために Apache Maven を設定する

Apache Maven パッケージを GitHub パッケージレジストリ に公開して、Java プロジェクトで依存関係として利用できます。

GitHub パッケージレジストリ は現在、限定パブリックベータとして利用できます。ベータ期間中は、高価なワークフローやコンテンツに GitHub パッケージレジストリ を利用することは避けてください。詳細は「GitHub パッケージレジストリ について」を参照してください。

ここには以下の内容があります:

GitHub パッケージレジストリ への認証を行う

Apache Maven で GitHub パッケージレジストリ のパブリックパッケージを公開および削除するには、read:packageswrite:packages のスコープ付き個人アクセストークンを使う必要があります。 リポジトリがプライベートである場合、個人アクセストークンも repo のスコープを持っている必要があります。 詳細は「コマンドライン用の個人アクセストークンを作成する」を参照してください。

新しいパッケージをプッシュする場合には、~/.m2/settings.xml ファイルを編集するか、このファイルがない場合は作成して、Apache Maven がトークンを使用するよう設定します。 ファイルは以下の例のようになっているはずです。 USERNAME を、パッケージを公開したり、パッケージをそこからインストールしたりするリポジトリを含んだ GitHub ユーザ名に、TOKEN を個人用アクセストークンに、そして OWNER を、GitHub ユーザまたは Organization 名に置き換えてください。

<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>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </repository>
        <repository>
          <id>github</id>
          <name>GitHub OWNER Apache Maven Packages</name>
          <url>https://maven.pkg.github.com/OWNER</url>
        </repository>
      </repositories>
    </profile>
  </profiles>

  <servers>
    <server>
      <id>github</id>
      <username>USERNAME</username>
      <password>TOKEN</password>
    </server>
  </servers>
</settings>

You can also use a GITHUB_TOKEN to publish and consume packages in the GitHub パッケージレジストリ in a GitHub Actions workflow without storing and managing a personal access token. For more information about GITHUB_TOKEN, see "GITHUB_TOKEN secret."

You can use a script to inject your GITHUB_TOKEN into the appropriate configuration file for GitHub パッケージレジストリ. Add GitHub パッケージレジストリ as an alernative registry or repository in the configuration file for the package client, as well as your GitHub username and a personal access token with the appropriate scopes. The exact steps for creating a configuration file vary by package type.

パッケージを公開する

プッシュすると、デフォルトではパッケージと同じ名前を持つリポジトリにパッケージが作成されます。 たとえば、com.example.test という名前のパッケージは、OWNER/test という GitHub パッケージレジストリ リポジトリに公開されます。

複数のパッケージを同じリポジトリに公開したい場合は、GitHub パッケージレジストリリポジトリの pom.xml にある <scm> セクションに、URL を記述できます。 GitHub パッケージレジストリ このフィールドを元にしてリポジトリを照合します。

パッケージの作成に関する詳しい情報については、maven.apache.org ドキュメンテーションを参照してください。

リポジトリ名は distributionManagement セクションの一部なので、複数のパッケージを同じリポジトリに公開するための追加手順はありません。

  1. パッケージディレクトリにある pom.xml ファイルを編集します。 ファイルは以下のようになっているはずです。 <url>OWNER を、パッケージを公開したり、パッケージをそこからインストールしたりするリポジトリを含んだ GitHub パッケージレジストリ ユーザまたは Organization に置き換えてください。 REPOSITORY は、リポジトリ名に置き換えてください:

    <distributionManagement>
       <repository>
         <id>github</id>
         <name>GitHub OWNER Apache Maven Packages</name>
         <url>https://maven.pkg.github.com/OWNER/REPOSITORY</url>
       </repository>
    </distributionManagement>
  2. パッケージを作成し、GitHub パッケージレジストリ ユーザまたは Organization に公開する準備ができたら、以下を実行します:

    $ mvn deploy
  3. パッケージには、以下の URL からアクセスできます。OWNER をあなたの GitHub ユーザもしくは Organization 名に、REPOSITORY をリポジトリ名に置き換えてください。

https://github.com/OWNER/REPOSITORY/packages

パッケージレジストリイベントを受信する

パッケージが 'published' あるいは 'updated' になったときに、webhook イベントを受信することができます。詳細は GitHub 開発者ドキュメンテーション の RegistryPackageEvent を参照してください。

パッケージをインストールする

  1. ~/.m2/settings.xml を編集して、Apache Maven が GitHub パッケージレジストリ を認証するよう設定してください。 詳細は「GitHub パッケージレジストリ への認証を行う」を参照してください。

  2. パッケージ依存関係を pom.xml に追加します。 たとえば、以下の例では pom.xmldependenciesノードが com.example.test パッケージを使用しています:

    <dependencies>
      <dependency>
        <groupId>com.example</groupId>
        <artifactId>test</artifactId>
        <version>1.0.0</version>
      </dependency>
    </dependencies>
  3. パッケージをインストールします。

    $ mvn install

プロジェクトにおける pom.xml の使用に関する詳細は、Apache Maven ドキュメンテーションの「POM 入門」を参照してください。

パッケージを削除する

To avoid breaking projects that may depend on your packages, GitHub パッケージレジストリ does not support deleting published versions of a package or an entire published package for public repositories. 法的な理由やGDPR標準への準拠といった特別な状況下では、GitHub Supportを通じてパッケージの削除をリクエストできます。 GitHub Supportへの連絡には連絡フォームを使い、タイトル行を「GitHub パッケージレジストリ」としてください。

You can delete private packages via GitHub's API. For more information, see "Access to package version deletion" in GitHub 開発者ドキュメンテーション.

参考リンク

担当者にお尋ねください

探しているものが見つからなかったでしょうか?

弊社にお問い合わせください