JetBrains Space ヘルプ

アーティファクトを Maven Central に公開する

リモートリポジトリ機能を使用すると、Maven アーティファクトを Space Packages リポジトリから Maven セントラル(英語)に公開できます。

アーティファクトを Maven Central に公開するには

  1. 次のガイドに従って、Space Packages リポジトリへのアーティファクトの公開を構成します。

  2. OSSRH リポジトリの初期セットアップを実行します。

    1. Sonatype JIRA アカウントを作成します(英語)

    2. プロジェクトの新しいリポジトリを作成するための JIRA チケットを作成します(英語)例(英語)

    詳細については、Sonatype の公式ドキュメント(英語)を参照してください。

  3. Maven Central に公開されるアーティファクトは、PGP(英語) で署名される必要があります。署名キーを生成するには:

    1. GPG ツール(英語)をダウンロードします。

    2. 以下を実行してキーを生成します。

      gpg --gen-key

      例:

      PS C:\Program Files (x86)\GNU\GnuPG> .\gpg.exe --gen-key gpg (GnuPG) 1.4.23; Copyright (C) 2015 Free Software Foundation, Inc. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Please select what kind of key you want: (1) RSA and RSA (default) (2) DSA and Elgamal (3) DSA (sign only) (4) RSA (sign only) Your selection? 1 RSA keys may be between 1024 and 4096 bits long. What keysize do you want? (2048) Requested keysize is 2048 bits Please specify how long the key should be valid. 0 = key does not expire <n> = key expires in n days <n>w = key expires in n weeks <n>m = key expires in n months <n>y = key expires in n years Key is valid for? (0) Key does not expire at all Is this correct? (y/N) y You need a user ID to identify your key; the software constructs the user ID from the Real Name, Comment and Email Address in this form: "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>" Real name: John Doe Email address: johndoe@example.com Comment: sample key You selected this USER-ID: "John Doe (sample key) <johndoe@example.com>" Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O You need a Passphrase to protect your secret key. We need to generate a lot of random bytes. It is a good idea to perform some other action (type on the keyboard, move the mouse, utilize the disks) during the prime generation; this gives the random number generator a better chance to gain enough entropy. .+++++ +++++ We need to generate a lot of random bytes. It is a good idea to perform some other action (type on the keyboard, move the mouse, utilize the disks) during the prime generation; this gives the random number generator a better chance to gain enough entropy. ...+++++ ....+++++ gpg: C:/Users/John.Doe/AppData/Roaming/gnupg\trustdb.gpg: trustdb created gpg: key 8A37B4C1 marked as ultimately trusted public and secret key created and signed. gpg: checking the trustdb gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u pub 2048R/8A37B4C1 2021-04-20 Key fingerprint = 31FE BA03 2679 13C3 5DDD B277 6176 785A 8A37 B4C1 uid John Doe (sample key) <johndoe@example.com> sub 2048R/EA490E42 2021-04-20
  4. プロジェクトの署名を構成します。

    環境に応じて署名を構成するにはさまざまな方法があります。詳細については、Gradle の公式ドキュメント(英語)を参照してください。例: これは、ローカルビルドの署名を構成する方法です。

    1. 署名プラグインを build.gradle に含めます。

      plugins { id 'signing' }
    2. 何を署名するかを指定します。例: 公開されたすべてのアーティファクトに署名するように Gradle を構成できます。これを行うには、build.gradle に次を追加します。

      signing { sign publishing.publications }
    3. 署名鍵データをローカルの gradle.properties に追加します。例:

      signing.keyId=24875D73 signing.password=pwd1234 signing.secretKeyRingFile=C:/Users/John.Doe/AppData/Roaming/gnupg/secring.gpg

      説明

      • keyId は、gpg -K で取得できる公開鍵 ID です。

      • password は、キーの作成時に使用したパスフレーズです。

      • secretKeyRingFile は秘密鍵への絶対パスです。

    4. 署名付きアーティファクトを構築するには、次を実行します。

      gradle sign
    5. 署名付きアーティファクトを公開するには、次を実行します。

      gradle publish

    環境に応じて署名を構成するにはさまざまな方法があります。詳細については、Maven の公式ドキュメント(英語)を参照してください。例: これは、ローカルビルドの署名を構成する方法です。

    1. Apache Maven GPG プラグインを pom.xml に含めます。

      <project> ... <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> <version>1.6</version> <executions> <execution> <id>sign-artifacts</id> <phase>verify</phase> <goals> <goal>sign</goal> </goals> </execution> </executions> </plugin> </plugins> </build> ... </project>
    2. 署名鍵データをローカルの settings.xml に追加します。例:

      <settings> [...] <servers> [...] <server> <id>gpg.passphrase</id> <passphrase>pwd1234</passphrase> </server> </servers> </settings>

      ここで、passphrase はキーの作成時に使用したパスフレーズです。これは、単一 (デフォルト) 署名キーがある場合にのみ機能することに注意してください。Maven GPG プラグインの設定の詳細については、公式ドキュメント(英語)を参照してください。

    3. 署名付きアーティファクトを公開するには、次を実行します。

      mvn deploy
  5. Space で、署名されたアーティファクトを公開したリポジトリを開きます

  6. リモートリポジトリを構成します。

    1. リポジトリ設定で、「リモートリポジトリ」タブを開き、「新しいリモートリポジトリ」をクリックします。

    2. リモートリポジトリ設定を指定します。

      • URL : 初期セットアップ中に Sonatype から取得した URL。通常、SNAPSHOT アーティファクトバージョンの場合は https://s01.oss.sonatype.org/content/repositories/snapshots/、リリースバージョンの場合は https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/ です。詳細(英語)

      • 認証基本を選択し、Sonatype JIRA に登録したユーザー名パスワードを指定します。

      • Nexus ステージングプロファイル : 初期セットアップ時に取得したプロファイル。Space は認証情報を使用して Sonatype Nexus に自動的に接続し、使用可能なステージングプロファイルのリストを表示します。

      Remote Repo Settings
    3. 作成をクリックします。

  7. 必要なアーティファクトをリモートリポジトリ (Maven Central) に公開します。

    1. 必要なパッケージを見つける

    2. パッケージメニューで、リモートリポジトリに公開するを選択します。

    3. リストで、前の手順で作成したミラーを選択し、公開をクリックします。

関連ページ:

リモートリポジトリへのパッケージの公開

場合によっては、Space Packages リポジトリに保存されているパッケージをリモートリポジトリ (Maven Central など) に公開することが必要になることがあります。ローカルリポジトリごとに、関連するリモートリポジトリのリストを指定できます。この後、ローカルリポジトリからこれらのリモートリポジトリのいずれかにパッケージを公開できます。サポートされているリポジトリの種類:コンテナー、Maven、NuGet、ローカルリポジトリをリモートリポジトリに関連付ける:プロジェクトに移動...

Gradle プロジェクトからアーティファクトを公開する

Gradle ビルドツールを使用するプロジェクトがあり、以下を使用して新しく作成された Maven リポジトリにプロジェクトアーティファクトを公開するとします。Gradle コマンドラインツール ,、JetBrains TeamCity,、Space Automation.、同じパッケージバージョンのアーティファクトを公開することは許可されていないことに注意してください。サーバーは 409 HTTP 応答を返します。唯一の例外: 接頭辞を持つアーティファクトは、スナップショットサポートが有効になって...

Maven プロジェクトからアーティファクトを公開する

Maven をビルドツールとして使用するプロジェクトがあり、以下を使用して新しく作成された Maven リポジトリにプロジェクトアーティファクトを公開するとします。Maven コマンドラインツール ,、JetBrains TeamCity.、Space Automation.、同じパッケージバージョンのアーティファクトを公開することは許可されていないことに注意してください。サーバーは 409 HTTP 応答を返します。唯一の例外: 接頭辞を持つアーティファクトは、スナップショットサポートが有効になっ...

パッケージリポジトリを探索する

パッケージリポジトリはプロジェクト全体のエンティティです。すべてのプロジェクトには独自のパッケージがあります。特定のプロジェクトのパッケージを表示するには、プロジェクトを開き、プロジェクトのサイドバーメニューでパッケージを選択します。ここでは、新しいリポジトリを作成したり、特定のリポジトリや特定のパッケージのプロパティを表示したりできます。リポジトリとパッケージを探す:すべてのパッケージリポジトリは、グローバル Space 検索インデックスに含まれます。名前でリポジトリを見つける最も簡単な方法...

Maven アーティファクトを入手する

Maven パッケージを取得する一般的な方法は、プロジェクトからそれを参照することです。依存関係の作成を支援するために、パッケージは一般的なビルドツールのコードスニペットを生成します。パッケージで、目的の Maven パッケージを見つけます。パッケージのプロパティページを開きます。スニペットフィールドで、ビルドツール (Gradle、Maven、SBT) を選択し、スニペットコードをコピーします。コードを対応する構成ファイル (、など) に貼り付けます。構成ファイルでリポジトリを指定します。で、...