Mule Maven プラグインを使用した Runtime Fabric へのアプリケーションのデプロイ

Mule Maven プラグインバージョン 3.0.0、3.1.0、3.1.1、3.1.2、3.1.3、3.1.4、3.1.5、3.1.6、3.1.7、3.8.3 は非推奨です。

可能な場合は、Equality の会社の値に一致するように、含めない用語を変更しました。顧客の実装に対する影響を回避するために、一部の用語は変更されていません。

Anypoint Runtime Manager を使用してアプリケーションを Anypoint Runtime Fabric にデプロイすることに加えて、Mule Maven プラグインを使用してアプリケーションをデプロイすることもできます。これを行うには、特定の前提条件を満たし、Runtime Fabric デプロイメント戦略をプロジェクトの ​pom.xml​ ファイルで定義する必要があります。

別の方法を使用して Runtime Fabric にアプリケーションをデプロイする場合は、以下を参照してください。

前提条件

Runtime Fabric デプロイメント戦略の設定

plugin​ 要素内に Runtime Fabric デプロイメント用の設定を追加し、次のプレースホルダーの値を Runtime Fabric 情報で置き換えます。

<plugin>
  <groupId>org.mule.tools.maven</groupId>
  <artifactId>mule-maven-plugin</artifactId>
  <version>3.4.2</version>
  <extensions>true</extensions>
  <configuration>
    <runtimeFabricDeployment>
      <uri>https://anypoint.mulesoft.com</uri>
      <muleVersion>4.3.0</muleVersion>
      <username>user</username>
      <password>pass</password>
      <applicationName>newapp</applicationName>
      <target>rtf</target>
      <environment>Sandbox</environment>
      <provider>MC</provider>
      <replicas>1</replicas>
      <properties>
        <key>value</key>
      </properties>
      <deploymentSettings>
        <enforceDeployingReplicasAcrossNodes>false</enforceDeployingReplicasAcrossNodes>
        <updateStrategy>recreate</updateStrategy>
        <clustered>false</clustered>
        <forwardSslSession>false</forwardSslSession>
        <lastMileSecurity>false</lastMileSecurity>
        <resources>
          <cpu>
            <reserved>20m</reserved>
            <limit>1500m</limit>
          </cpu>
          <memory>
            <reserved>700Mi</reserved>
          </memory>
        </resources>
        <http>
          <inbound>
            <publicUrl>url</publicUrl>
          </inbound>
        </http>
      </deploymentSettings>
    </runtimeFabricDeployment>
  </configuration>
</plugin>

Runtime Fabric へのデプロイ

プロジェクトのフォルダーのコマンドラインから、アプリケーションをパッケージ化してデプロイゴールを実行します。

mvn clean package deploy -DmuleDeploy

Exchange のスナップショットアセット

Exchange のスナップショットアセットを Runtime Fabric にデプロイすることもできます。

開発フェーズとテストフェーズで Anypoint Exchange の ​SNAPSHOT​ バージョンアセットを使用して、些細な変更でアプリケーションのバージョン番号を増分することを回避できます。​SNAPSHOT​ バージョンのアプリケーションが Anypoint Exchange で上書きされたら、Mule Maven プラグインを使用して ​SNAPSHOT​ バージョンのアプリケーションを Runtime Fabric に再デプロイし、最新の変更をデプロイできます。

スナップショットアセットを Anypoint Exchange にパブリッシュする方法についての詳細は、​アセットライフサイクル状態​を参照してください。

アプリケーションのスナップショットを更新するたびに、アプリケーションを再デプロイして最新のスナップショットバイナリで更新します。 スナップショットアセットはデプロイ後に変更される可能性があるため、本番環境にはデプロイしないでください。

Runtime Fabric への再デプロイ

アプリケーションを再デプロイするには、デプロイしたときと同じコマンドを実行します。
Runtime Fabric は、デプロイしたアプリケーションを書き込み直します。

Authentication のメソッド

Mule Maven プラグインを使用してアプリケーションをデプロイする場合には、デプロイメントプラットフォームに対して認証するためのログイン情報をいくつかの方法で提供できます。使用する認証方法に応じて、デプロイメント設定で指定するパラメーターが異なります。

認証方法 説明 設定パラメーター

ユーザー名とパスワード

Runtime Fabric のユーザー名とパスワードを使用して認証します。

  • username

  • password

サーバー

Maven サーバーに保存されているログイン情報を使用します。Maven の ​settings.xml​ ファイル内で設定します。

  • server

認証トークン

認証トークンを使用してプラットフォームにアクセスします。
サポートされているシングルサインオン (SSO) 種別は​「ID 管理」​を参照してください。

  • authToken

接続アプリケーション

接続アプリケーションを使用して Anypoint Platform と通信することで、プログラムによって認証を実行します。
接続アプリケーションのログイン情報に ​Design Center Developer​ アクセススコープが設定されている必要があります。
接続アプリケーションを作成する手順は、​「開発者向けの接続アプリケーション」​を参照してください。

  • connectedAppClientId

  • connectedAppClientSecret

  • connectedAppGrantType

設定パラメーターの詳細は、​Runtime Fabric デプロイメントのパラメーターリファレンス​を参照してください。

Runtime Fabric デプロイメントのパラメーターリファレンス

パラメーター 説明 必須

runtimeFabricDeployment

最上位要素

はい

uri

Anypoint Platform URI。
設定しない場合、デフォルトの https://anypoint.mulesoft.com になります。

いいえ

muleVersion

Runtime Fabric インスタンスで実行する Mule Runtime Engine のバージョン。
この値がアプリケーションで最小限必要な Mule バージョン以上であることを確認します。
値の例: 4.3.0​、​4.2.2-hf4

はい

username

Anypoint Platform ユーザー名

Anypoint Platform ログイン情報を使用してログインする場合のみ。

password

Anypoint Platform パスワード

Anypoint Platform ログイン情報を使用してログインする場合のみ。

applicationName

アプリケーションのデプロイ後に Runtime Manager に表示されるアプリケーション名。

はい

target

アプリケーションをデプロイする Runtime Fabric 対象名。

はい

provider

Runtime Fabric では ​MC​ に設定。

はい

environment

対象の Anypoint Platform 環境。
この値は、次のように Anypoint Platform アカウントで設定された環境に一致する必要があります。

<environment>Sandbox</environment>

はい

replicas

デプロイする Mule アプリケーションのレプリカまたはインスタンスの数を指定します。アプリケーションあたりのレプリカの最大数は 8 です。

はい

businessGroup

デプロイメントのビジネスグループパス
親組織から対象ビジネスグループへの完全な階層パスを指定します。次に例を示します。

<businessGroup>ParentOrg\SubOrg1\myBusinessGroup</businessGroup>

いいえ

businessGroupId

デプロイメントのビジネスグループ ID
ビジネスグループパスを指定する代わりにビジネスグループ ID を指定してアプリケーションをデプロイできます。
特定のビジネスグループへのアクセス権のみがあり、親組織へのアクセス権がない場合は、ビジネスグループ ID は必須パラメーターです。
このパラメーターは、プラグインバージョン 3.2.7 以降で使用できます。

いいえ

deploymentTimeout

デプロイメントプロセスの開始からアーティファクトがデプロイされたことの確認までの許容される経過時間 (ミリ秒)

デフォルト値は ​1000000​ です。

いいえ

server

Anypoint Platform ログイン情報を持つ Maven サーバー
これは、Maven ​settings.xml​ ファイルに保存されたログイン情報を使用する場合のみ必要です。これは Mule サーバー名ではありません。

いいえ

properties

最上位要素
デプロイする Mule アプリケーションのプロパティを設定する必要がある場合、最上位要素 ​<properties>​ を使用できます。

<properties>
  <key>value</key>
</properties>

次に例を示します。

<properties>
  <http.port>8081</http.port>
</properties>

いいえ

skip

true​ に設定すると、プラグインデプロイメントゴールをスキップします。
デフォルト値は ​false​ です。

いいえ

skipDeploymentVerification

true​ に設定すると、デプロイされるアプリケーションの検証をスキップします。
デフォルト値は ​false​ です。

いいえ

authToken

プラットフォームにアクセスするための認証トークンを指定します。ユーザー名とパスワードを設定する代わりに、この認証方式を使用できます。
サポートされているシングルサインオン (SSO) 種別は​「ID 管理」​を参照してください。

認証トークンを使用してログインする場合のみ。

connectedAppClientId

接続アプリケーションの ​clientID​ 値を指定します。

接続アプリケーションログイン情報を使用してログインする場合のみ。

connectedAppClientSecret

接続アプリケーションのシークレットキーを指定します。

接続アプリケーションログイン情報を使用してログインする場合のみ。

connectedAppGrantType

サポートされている唯一の接続種別、​client_credentials​ を指定します。

接続アプリケーションログイン情報を使用してログインする場合のみ。

deploymentSettings

deploymentSettings リファレンス​で説明されているいずれかのパラメーター

いいえ

deploymentSettings パラメーターリファレンス

パラメーター 説明

enforceDeployingReplicasAcrossNodes

異なるノード間でレプリカのデプロイメントを適用します。デフォルト値は ​false​ です。

設定例:

<deploymentSettings>
  <enforceDeployingReplicasAcrossNodes>false</enforceDeployingReplicasAcrossNodes>
</deploymentSettings>

updateStrategy

使用可能な値 説明

rolling

レプリカを増分的に更新することで、可用性を維持します。成功するには、レプリカに相当する 1 つの追加リソースが必要です。
enforceDeployingReplicasAcrossNodes​ が有効になっている場合、設定できるレプリカの最大数はノードの総数より 1 つ少なくなります。

recreate

再デプロイメントの前にレプリカを終了します。再デプロイメントは ​rolling​ よりも迅速で、追加リソースは必要ありません。
enforceDeployingReplicasAcrossNodes​ が有効になっている場合、設定できるレプリカの最大数はノードの数と同じです。

デフォルト値は ​rolling​ です。

設定例:

<deploymentSettings>
  <updateStrategy>recreate</updateStrategy>
</deploymentSettings>

forwardSslSession

セッション中に SSL 転送を有効にします。デフォルト値は ​false​ です。

設定例:

<deploymentSettings>
  <forwardSslSession>true</forwardSslSession>
</deploymentSettings>

clustered

アプリケーションの複数のレプリカでのクラスタリングを有効にします。デフォルト値は ​false​ です。

設定例:

<deploymentSettings>
    <clustered>true</clustered>
</deploymentSettings>

lastMileSecurity

Last-Mile セキュリティを有効化して、このアプリケーションによって復号化される HTTPS 接続を転送します。
このためには SSL 証明書を Mule アプリケーションに含む必要があり、より多くの CPU リソースも必要です。デフォルト値は ​false​ です。
設定例:

<deploymentSettings>
    <lastMileSecurity>true</lastMileSecurity>
</deploymentSettings>

resources

cpu

reserved

アプリケーションの各レプリカに割り当てるコア数を指定します。デフォルト値は 0.5 vCore です。

limit

アプリケーションの各レプリカに割り当てる最大コア数を指定します。
reserved​ 設定が存在する場合、この値がそれ以上であることを確認してください。

memory

reserved

アプリケーションの各レプリカに割り当てるメモリ量を指定します。デフォルト値は 700 MB です。

設定例:

<deploymentSettings>
  <resources>
    <cpu>
      <reserved>20m</reserved>
      <limit>1500m</limit>
    </cpu>
    <memory>
      <reserved>700Mi</reserved>
    </memory>
  </resources>
</deploymentSettings>

http

inbound

publicURL

デプロイされるアプリケーションの URL。

設定例:

<deploymentSettings>
  <http>
    <inbound>
      <publicUrl>myapp.anypoint.com</publicUrl>
    </inbound>
  </http>
</deploymentSettings>

disableAmLogForwarding

Anypoint Monitoring へのアプリケーションレベルログの転送を無効にします。デフォルトでは、これは ​false​ に設定されます。

ログイン情報の暗号化

デプロイするときに暗号化ログイン情報を使用するには、Maven マスター暗号化パスワードおよび ​settings-security.xml​ ファイルをセットアップする必要があります。

  1. Maven 設定のマスターパスワードを作成します。

    mvn --encrypt-master-password <yourMasterPassword>

    Maven はマスターパスワードを暗号化して返します。

    {l9vZ2uM5SdgHy+H12z4pX7LEOZn3Kbnqmt3kIquLjnQ=}
  2. ~/.m2 リポジトリで ​settings-security.xml​ ファイルを作成し、暗号化マスターパスワードを追加します。

    <settingsSecurity>
      <master>{l9vZ2uM5SdgHy+H12z4pX7LEOZn3Kbnqmt3kIquLjnQ=}</master>
    </settingsSecurity>
  3. Anypoint Platform パスワードを暗号化します。

    mvn --encrypt-password <yourAnypointPlatformPassword>

    Maven は Anypoint Platform パスワードを暗号化して返します。

    {HTWFGH5BG9QmvJ1B=}
  4. 暗号化 Anypoint Platform パスワードを ​settings.xml​ ファイルの <server> セクションに追加します。

    <settings>
     ...
      <servers>
       ...
        <server>
          <id>my.anypoint.credentials</id>
          <username>my.anypoint.username</username>
          <password>{HTWFGH5BG9QmvJ1B=}</password>
        </server>
       ...
      </servers>
     ...
    </settings>
  5. 設定デプロイメントで、​settings.xml​ ファイルで設定されたサーバー ID を挿入するログイン情報を参照します。

    <plugin>
      ...
      <configuration>
        ...
        <runtimeFabricDeployment>
          ...
          <server>my.anypoint.credentials</server>
          ...
        </runtimeFabricDeployment>
        ...
      </configuration>
      ...
    <plugin>
    ユーザー名とパスワードがデプロイメント設定で設定されていると、定義されたサーバー ID が上書きされるため、設定されていないことを確認してください。