第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、および場所を使用して複数のアーティファクトを登録できます。