第5章 Maven プラグインを使用した Service Registry コンテンツの管理
本章では、Service Registry Maven プラグインを使用して、レジストリーに保存されているスキーマおよび API アーティファクトを管理する方法を説明します。
前提条件
- 1章Service Registry の概要 を参照
- Service Registry が環境にインストールされ、実行されている。
- Maven が使用している環境にインストールおよび設定されている。
5.1. Maven プラグインを使用したスキーマおよび API アーティファクトの追加
Maven プラグインの最も一般的なユースケースは、ビルド中にアーティファクトを追加することです。これは、register 実行目標を使用して実現できます。
前提条件
- Service Registry が環境にインストールされ、実行している
手順
Maven pom.xml ファイルを更新して、 apicurio-registry-maven-plugin を使用してアーティファクトを登録します。以下の例は、Apache Avro および GraphQL スキーマの登録を示しています。
<plugin>
<groupId>io.apicurio</groupId>
<artifactId>apicurio-registry-maven-plugin</artifactId>
<version>${apicurio.version}</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>register</goal> 1
</goals>
<configuration>
<registryUrl>MY-REGISTRY-URL/apis/registry/v2</registryUrl> 2
<authServerUrl>MY-AUTH-SERVER</authServerUrl>
<clientId>MY-CLIENT-ID</clientId>
<clientSecret>MY-CLIENT-SECRET</clientSecret> 3
<artifacts>
<artifact>
<groupId>TestGroup</groupId> 4
<artifactId>FullNameRecord</artifactId>
<file>${project.basedir}/src/main/resources/schemas/record.avsc</file>
<ifExists>FAIL</ifExists>
</artifact>
<artifact>
<groupId>TestGroup</groupId>
<artifactId>ExampleAPI</artifactId> 5
<type>GRAPHQL</type>
<file>${project.basedir}/src/main/resources/apis/example.graphql</file>
<ifExists>RETURN_OR_UPDATE</ifExists>
<canonicalize>true</canonicalize>
</artifact>
</artifacts>
</configuration>
</execution>
</executions>
</plugin>-
スキーマアーティファクトをレジストリーにアップロードするための実行目標として
registerを指定します。 -
../apis/registry/v2エンドポイントでService Registry URL を指定します。 - 認証が必要な場合は、認証サーバーおよびクライアントの認証情報を指定できます。
-
Service Registry アーティファクトグループ ID を指定します。一意のグループ ID を使用しない場合は、
defaultのグループを指定できます。 - 指定したグループ ID、アーティファクト ID、および場所を使用して複数のアーティファクトを登録できます。