第11章 Maven プラグインを使用した Service Registry コンテンツの管理
本章では、Service Registry Maven プラグインを使用してレジストリーに保存されているアーティファクトを管理する方法を説明します。
前提条件
- 1章Service Registry の概要 を参照してください。
- Service Registry が環境にインストールされ、実行されている。
- Maven が使用している環境にインストールおよび設定されている。
11.1. Service Registry Maven プラグインを使用したアーティファクトの管理
Service Registry Maven プラグインを使用して、開発ビルドの一部としてレジストリーアーティファクトをアップロードまたはダウンロードできます。たとえば、このプラグインは、スキーマの更新がクライアントアプリケーションと互換性があることをテストおよび検証するのに便利です。
Maven プラグインを使用したアーティファクトの登録
おそらく、Maven プラグインの最も一般的なユースケースは、ビルド中にアーティファクトを登録することです。これは、register
実行目標を使用して実現できます。
手順
Maven
pom.xml
ファイルを更新して、apicurio-registry-maven-plugin
を使用してアーティファクトを登録します。以下の例は、Apache Avro スキーマの登録を示しています。<plugin> <groupId>io.apicurio</groupId> <artifactId>apicurio-registry-maven-plugin</artifactId> <version>${registry.version}</version> <executions> <execution> <phase>generate-sources</phase> <goals> <goal>register</goal> 1 </goals> <configuration> <registryUrl>http://my-cluster-service-registry-myproject.example.com/api</registryUrl> 2 <artifactType>AVRO</artifactType> <artifacts> <schema1>${project.basedir}/schemas/schema1.avsc</schema1> 3 </artifacts> </configuration> </execution> </executions> </plugin>
Maven プラグインを使用したアーティファクトのダウンロード
Maven プラグインを使用して Service Registry からアーティファクトをダウンロードすることもできます。これは、たとえば、登録されたスキーマからコードを生成する場合などに便利です。
手順
Maven
pom.xml
ファイルを更新して、apicurio-registry-maven-plugin
を使用してアーティファクトをダウンロードします。以下の例は、アーティファクト ID による単一のスキーマのダウンロードを示しています。<plugin> <groupId>io.apicurio</groupId> <artifactId>apicurio-registry-maven-plugin</artifactId> <version>${registry.version}</version> <executions> <execution> <phase>generate-sources</phase> <goals> <goal>download</goal> 1 </goals> <configuration> <registryUrl>http://my-cluster-service-registry-myproject.example.com/api</registryUrl> 2 <ids> <param1>schema1</param1> 3 </ids> <artifactExtension>.avsc</artifactExtension> 4 <outputDirectory>${project.build.directory}</outputDirectory> </configuration> </execution> </executions> </plugin>
Maven プラグインを使用したアーティファクトのテスト
実際にアーティファクトを変更せずに、アーティファクトをが登録できることを確認する場合があります。これは、ルールが Service Registry に設定されている場合に最も便利です。アーティファクトのコンテンツが設定済みのルールのいずれかに違反する場合、アーティファクトのテストに失敗します。
アーティファクトがテストに合格した場合でも、Service Registry にはコンテンツが追加されません。
手順
Maven
pom.xml
ファイルを更新して、apicurio-registry-maven-plugin
を使用してアーティファクトをテストします。Apache Avro スキーマのテストの例を以下に示します。<plugin> <groupId>io.apicurio</groupId> <artifactId>apicurio-registry-maven-plugin</artifactId> <version>${registry.version}</version> <executions> <execution> <phase>generate-sources</phase> <goals> <goal>test-update</goal> 1 </goals> <configuration> <registryUrl>http://my-cluster-service-registry-myproject.example.com/api</registryUrl> 2 <artifactType>AVRO</artifactType> <artifacts> <schema1>${project.basedir}/schemas/schema1.avsc</schema1> 3 </artifacts> </configuration> </execution> </executions> </plugin>
関連情報
- Service Registry Maven プラグインの詳細は、「Registry demonstration example」を参照してください。