Exchange へのカスタムポリシーのアップロード

Exchange では、Maven クライアントを使用してアセットをパブリッシュまたはコンシュームする API が提供されます。アセットをパブリッシュするには、一意のアーティファクト名と組織 ID が必要です。
詳細は、​Maven facade API​ Exchange アセットを参照してください。

API Manager は、組織のアセットとしてパブリッシュされたカスタムポリシーをリストします。

Maven アーキタイプを使用して作成されたポリシーをデプロイする

提供された Maven アーキタイプを使用してカスタムポリシープロジェクトを作成すると、ポリシーを Exchange にアップロードするために必要なすべてのプラグインが自動的に定義されます。
詳細は、​「アーキタイプを使用したプロジェクトのセットアップ」​の手順を参照してください。

Exchange ログイン情報を設定する必要があります。

  1. Exchange ログイン情報で Maven ​.m2​ ディレクトリの settings.xml ファイルを更新します。

    <?xml version="1.0" encoding="UTF-8"?>
    <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
      <servers>
        <server>
           <id>Repository</id>
           <username>myusername</username>
           <password>mypassword</password>
         </server>
      </servers>
    </settings>
  2. mvn deploy​ を実行してポリシーを Exchange にパブリッシュします。

これで、指定された組織に属する API にカスタムポリシーを適用できます。

Maven アーキタイプを使用せずに作成されたポリシーをデプロイする

提供された Maven アーキタイプを使用してカスタムポリシープロジェクトを作成しないことを選択した場合、手動で Exchange デプロイメント設定をセットアップする必要があります。

  1. Anypoint Platform で、次の手順で使用する組織の ID を検索します。

    • [Access Management (アクセス管理)] > [Organization (組織)]​ に移動します。

      • 組織の名前をクリックします。

      • ブラウザアドレスから UUID をコピーします。たとえば、URL から ​ 2a4b93c3-7899-4ea7-9374-f787744d8784 ​ をコピーします。

  2. pom.xml​ に移動します。

  3. groupId を前のステップの組織の ID に置き換えます。

    <groupId>​{orgId}​</groupId>
  4. 次のプロパティを追加して、​{orgId}​ を前のステップの組織の ID に置き換えます。

    <properties>
      <exchange.url>https://maven.anypoint.mulesoft.com/api/v1/organizations/​{OrgId}​/maven</exchange.url>
      <mule.maven.plugin.version>3.2.0</mule.maven.plugin.version> <!-- check for last available version -->
    </properties>
  5. また、​pom.xml​ ファイルで、Exchange をリポジトリとしてを定義します。

    <repository>
    	<id>exchange-server</id>
    	<name>MuleSoft Exchange Environment</name>
    	<url>$​{exchange.url}​</url>
    	<snapshots>
    		<enabled>true</enabled>
    	</snapshots>
    </repository>
  6. Exchange サーバを配布管理としてセットアップします。

    <distributionManagement>
        <repository>
            <id>exchange-server</id>
            <name>Corporate Repository</name>
            <url>$​{exchange.url}​</url>
            <layout>default</layout>
        </repository>
    </distributionManagement>
  7. さらに、次の構築プラグインを追加します。

    • Mule Maven プラグイン: 必要なすべてのファイルが存在し、ポリシーを適切にパッケージ化する必要があることを確認する。

    • Maven デプロイプラグイン: Exchange リポジトリと通信し、ポリシーの jar および yaml ファイルをアップロードする。

      <build>
          <plugins>
              <plugin>
                  <groupId>org.mule.tools.maven</groupId>
                  <artifactId>mule-maven-plugin</artifactId>
                  <version>$​{mule.maven.plugin.version}​</version>
                  <extensions>true</extensions>
              </plugin>
              <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-deploy-plugin</artifactId>
                  <executions>
                      <execution>
                          <id>upload-template</id>
                          <phase>deploy</phase>
                          <goals>
                              <goal>deploy-file</goal>
                          </goals>
                          <configuration>
                              <repositoryId>exchange-server</repositoryId>
                              <url>$​{exchange.url}​</url>
                              <file>$​{project.basedir}​/$​{project.artifactId}​.yaml</file>
                              <generatePom>false</generatePom>
                              <groupId>$​{project.groupId}​</groupId>
                              <artifactId>$​{project.artifactId}​</artifactId>
                              <version>$​{project.version}​</version>
                              <packaging>yaml</packaging>
                              <classifier>policy-definition</classifier>
                          </configuration>
                      </execution>
                  </executions>
              </plugin>
          </plugins>
      </build>

      および次のプラグインリポジトリ

      <pluginRepositories>
          <pluginRepository>
              <id>mule-plugin</id>
              <name>Mule Repository</name>
              <url>https://repository.mulesoft.org/nexus/content/repositories/public/</url>
          </pluginRepository>
      </pluginRepositories>
  8. Maven ​.m2​ ディレクトリの ​settings.xml​ ファイルで Exchange ログイン情報をセットアップします。

    <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
      <servers>
        <server>
           <id>exchange-server</id>
           <username>myusername</username>
           <password>mypassword</password>
         </server>
      </servers>
    </settings>
  9. 最後に、​maven clean deploy​ を使用してポリシーをデプロイします。

    Exchange リポジトリに定義される ID は一致する必要があります。

Was this article helpful?

💙 Thanks for your feedback!