JetBrains Space ヘルプ

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

Maven をビルドツールとして使用するプロジェクトがあり、以下を使用して新しく作成された Maven リポジトリにプロジェクトアーティファクトを公開するとします。

同じパッケージバージョンのアーティファクトを公開することは許可されていないことに注意してください。サーバーは 409 HTTP 応答を返します。唯一の例外: SNAPSHOT プレフィックスを持つアーティファクトは、スナップショットサポートが有効になっているリポジトリに公開できます。

Maven コマンドラインツールを使用して Maven アーティファクトを公開する

基本的に、Maven プロジェクトのアーティファクトを公開できるようにするには、アーティファクトのプロパティを構成し、リポジトリを参照し、認証資格情報を指定する必要があります。この構成は pom.xml ファイルで実行されます。

  1. プロジェクトの pom.xml ファイルを開きます。

  2. パッケージのプロパティを指定します (生成されるパッケージ名は groupId:artifactId になります)。

    <groupId>org.company</groupId> <artifactId>sample</artifactId> <packaging>pom</packaging> <version>0.9-SNAPSHOT</version>
  3. distributionManagement セクションで、リポジトリ ID (一意のリポジトリ識別子である必要があります) と URL を指定します。

    <distributionManagement> <repository> <id>my-repo</id> <url>https://maven.pkg.jetbrains.space/mycompany/p/projectkey/my-maven-repo</url> </repository> </distributionManagement>
  4. VCS に認証情報を保存するのは安全ではないため、ローカルユーザー固有の Maven 設定を使用する必要があります。

    • Windows 上: %HOMEPATH%/.m2/settings.xml

    • Linux/macOS 上: ~/.m2/settings.xml

    settings.xml を開き、サーバー ID (ステップ 1 で取得したもの) と資格情報を servers セクションに入力します。ここでは、独自の Space アカウント (パスワードの代わりに永久トークンを使用することを強くお勧めします) または別のサービスアカウントの資格情報を使用する必要があります。

    <servers> <server> <id>my-repo</id> <username>admin</username> <password>1234</password> </server> </servers>

  5. 終わり ! これで、mvn コマンドラインツールなどを使用してプロジェクトアーティファクトを公開できるようになります。

    mvn deploy

JetBrains TeamCity から Maven アーティファクトを公開

TeamCity を構成する前に、プロジェクトが Maven コマンドラインツールを使用して Maven アーティファクトを公開するの説明に従って構成されていることを確認してください。それが完了したら、TeamCity にリポジトリ id とユーザー資格情報 (ローカル settings.xml に保存する設定) を伝えるだけです。

  1. JetBrains TeamCity インスタンスにログインします。

  2. 管理で、プロジェクト設定を開きます。

  3. Maven 設定で、設定ファイルをアップロードします。例: ローカルの settings.xml をベースとして使用できます。Gradle と同様に、ユーザー名とパスワードを明示的に指定するのではなく、変数を指定することに注意してください。ファイルの内容は次のようになります。

    <servers> <server> <id>my-repo</id> <username>${usr}</username> <password>${pwd}</password> </server> </servers>

    TeamCity Maven Settings

    次に、これらの値を設定する必要があります。

  4. 管理のプロジェクト設定で、目的のビルド構成を開きます。

  5. パラメーターで、ユーザー名とパスワードの 2 つのシステムプロパティを追加します。例:

    • system.usr ( ステップ 3{$usr} を指定した場合)。

      Set Space username in TeamCity
    • system.pwd ( ステップ 3{$pwd} を指定した場合) スペックに、password を入力します。これにより、ログやレポートなどからパスワードが非表示になります。

      Set Space password in TeamCity

    最終的には次のようなものが得られるはずです。

    Space Packages credentials in TeamCity
  6. mvn deploy を実行する Maven ビルドステップを追加します。ここで次のことを行う必要があります。

    • ゴールで、deploy を指定します。

    • ユーザー設定 | ユーザー設定の選択で、ステップ 3 で作成した設定を選択します。

    Maven build step in TeamCity

Space Automation を使用した Maven アーティファクトの公開

詳細は Space オートメーションの例をご参照ください。

関連ページ:

コンテナーレジストリを作成する

プロジェクトに移動するレジストリを作成する場所。プロジェクトのサイドバーで、パッケージを選択します。パッケージページで、新規リポジトリをクリックします。新しいパッケージリポジトリウィンドウで、リポジトリ設定を指定します。タイプ: コンテナーレジストリを選択します。名前と説明: レジストリ名 (一意の識別子である必要があります) と説明を指定します。アクセス: 認証されていないユーザーがリポジトリから読み取れるようにする場合は、Public を選択します。それ以外の場合は、Private を選択します。...

パッケージ内のアクセスと認可

プライベートおよびパブリックリポジトリ:パッケージリポジトリは特定のプロジェクト内でのみ作成できます。つまり、リポジトリはプロジェクト全体のエンティティです。ユーザー権限は、プロジェクト内のユーザーのロールとリポジトリのタイプ (プライベートまたはパブリック) によって異なります。さらに詳細に: 許可されたユーザーのみがプライベートリポジトリにアクセスできます。アクセスはパッケージリポジトリ権限グループによって管理されます。デフォルトでは: プロジェクトメンバーには、読み取り、書き込み、作成、削除...

Java および Kotlin 用の Maven

前提条件 Java または Kotlin で書かれたプロジェクトがあります。プロジェクトでは Maven を使用します。アーティファクトを Space パッケージに公開する場合は、プロジェクトに Maven リポジトリがあることを確認してください。対象イメージ Maven および JRE/JDK バージョン 11 以降を含むイメージ。例: 公式 Maven イメージ。Maven プロジェクトを使用する場合の一般的なタスクは、プロジェクトをビルドしてテストを実行し、その後 Maven アーティファクトを公...

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

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