Gradle プロジェクトからアーティファクトを公開する
Gradle ビルドツールを使用するプロジェクトがあり、以下を使用して新しく作成された Maven リポジトリにプロジェクトアーティファクトを公開するとします。
同じパッケージバージョンのアーティファクトを公開することは許可されていないことに注意してください。サーバーは 409 HTTP 応答を返します。唯一の例外: SNAPSHOT
接頭辞を持つアーティファクトは、スナップショットサポートが有効になっているリポジトリに公開できます。
Gradle コマンドラインツールを使用して Maven アーティファクトを公開する
Gradle プロジェクトのアーティファクトを公開するには、アーティファクトのプロパティを構成し、リポジトリを参照し、認証資格情報を指定する必要があります。この構成は build.gradle
ファイルで実行されます。
プロジェクトの
build.gradle
ファイルを開きます。Maven プラグインへの参照を追加します。
apply plugin: 'maven-publish'publishing
セクションで、パッケージのプロパティを指定します (生成されるパッケージ名はgroupId:artifactId
になります)。例: .jar ファイルを公開したいとします (長さのため、セクションの内容は縮小されています)。publishing { publications { maven(MavenPublication) { groupId = 'org.company' artifactId = 'sample' version = "0.9-SNAPSHOT" from components.java pom { name = 'My Library' description = 'A description of my library' ... } } } }repositories
サブセクションで、資格情報と URL を含むリポジトリ設定を追加します。build.gradle
で資格情報を明示的に指定するのは安全ではないため、変数を使用する必要があります。この例では、$usr
および$pwd
です。次のステップでこれらの変数に値を割り当てます。publishing{ ... repositories { maven { credentials { username = "$usr" password = "$pwd" } url = "https://maven.pkg.jetbrains.space/mycompany/p/projectkey/my-maven-repo" } } }マシン上にローカルに保存されている
gradle.properties
ファイルに変数値を設定できます。このファイルのデフォルトの場所は次のとおりです。Windows 上:
%HOMEPATH%\.gradle\gradle.properties
Linux/macOS:
~/.gradle/gradle.properties
gradle.properties
を開き、変数値を指定します。ここでは、独自の Space アカウント (パスワードの代わりに永久トークンを使用することを強くお勧めします) または別のサービスアカウントの資格情報を使用する必要があります。usr = admin pwd = 1234以上です ! これで、Gradle コマンドラインツールやプロジェクトの Gradle ラッパーなどを使用して、プロジェクトアーティファクトを公開できるようになりました。
gradlew publish
JetBrains TeamCity から Maven アーティファクトを公開
TeamCity を構成する前に、プロジェクトが Gradle コマンドラインツールを使用して Maven アーティファクトを公開するの説明に従って構成されていることを確認してください。それが完了したら、Space で TeamCity を認証し、gradle publish
ビルドステップを追加するだけです。
JetBrains TeamCity インスタンスにログインします。
管理のプロジェクト設定で、目的のビルド構成を開きます。
パラメーターで、ユーザー名とパスワードの 2 つのシステムプロパティを追加します。プロパティ名は、
build.gradle
の対応する変数名と一致する必要があることに注意してください。例:system.usr (
build.gradle
でusername = $usr
を指定した場合)。system.pwd (
build.gradle
でpassword = $pwd
を指定した場合)。スペックに、パスワードを入力します。これにより、ログやレポートなどからパスワードが非表示になります。
最終的には次のようなものが得られるはずです。
gradle publish
を実行する Gradle ビルドステップを追加します。追加の構成は必要ありません。
Space Automation から Maven アーティファクトを公開する
詳細は Space オートメーションの例をご参照ください。
関連ページ:

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

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

Java および Kotlin 用の Gradle
前提条件 Java または Kotlin で書かれたプロジェクトがあります。プロジェクトでは Gradle を使用します。Gradle ラッパーはプロジェクトのルートディレクトリに存在します。アーティファクトを Space パッケージに公開する場合は、プロジェクトに Maven リポジトリがあることを確認してください。対象イメージ JRE/JDK バージョン 11 以降を含むイメージ。例:amazoncorretto イメージ。通常、プロジェクトを構築してテストを実行するために必要なのは、プロジェクト...

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