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

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

前提条件

CloudHub 2.0 デプロイメント戦略の設定

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

<plugin>
  <groupId>org.mule.tools.maven</groupId>
  <artifactId>mule-maven-plugin</artifactId>
  <version>3.7.1</version>
  <extensions>true</extensions>
  <configuration>
    <cloudhub2Deployment>
      <uri>https://anypoint.mulesoft.com</uri>
      <provider>MC</provider>
      <environment>${environment}</environment>
      <target>${targetName}</target>
      <muleVersion>${muleVersion}</muleVersion>
      <username>${user}</username>
      <password>${pass}</password>
      <applicationName>${appName}</applicationName>
      <replicas>1</replicas>
      <vCores>1</vCores>
      <deploymentSettings>
        <http>
          <inbound>
            <publicUrl>${publicURL}</publicUrl>
            <forwardSslSession>true</forwardSslSession>
            <lastMileSecurity>true</lastMileSecurity>
          </inbound>
        </http>
      </deploymentSettings>
    </cloudhub2Deployment>
  </configuration>
</plugin>

CloudHub 2.0 へのデプロイ

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

mvn clean deploy -DmuleDeploy

CloudHub 2.0 への再デプロイ

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

Authentication のメソッド

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

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

ユーザー名とパスワード

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

  • username

  • password

サーバー

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

  • server

認証トークン

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

  • authToken

接続アプリケーション

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

  • connectedAppClientId

  • connectedAppClientSecret

  • connectedAppGrantType

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

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

パラメーター 説明 必須

cloudhub2Deployment

最上位要素

はい

uri

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

いいえ

muleVersion

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

はい

username

Anypoint Platform ユーザー名

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

password

Anypoint Platform パスワード

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

applicationName

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

はい

scopeLoggingConfigurations

scopeLoggingConfiguration

scope

使用するログライブラリのパッケージ。

logLevel

ログレベル。使用可能な値: NONE​、​ERROR​、​WARN​、​INFO​、​DEBUG​、​TRACE​。

設定例:

<scopeLoggingConfigurations>
  <scopeLoggingConfiguration>
    <scope>com.pkg.warning</scope>
    <logLevel>WARN</logLevel>
  </scopeLoggingConfiguration>
  <scopeLoggingConfiguration>
    <scope>com.pkg.debug</scope>
    <logLevel>DEBUG</logLevel>
  </scopeLoggingConfiguration>
</scopeLoggingConfigurations>

いいえ

target

アプリケーションをデプロイする CloudHub 2.0 対象名。
CloudHub 2.0 のデプロイメント対象値で使用できる共有スペースまたは非公開スペースのいずれかを指定します。共有スペースまたは非公開スペースについての詳細は、​「CloudHub 2.0 の機能」​を参照してください。​リージョンのリスト​の値を使用します。

はい

provider

CloudHub 2.0 では ​MC​ に設定。

はい

environment

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

<environment>Sandbox</environment>

はい

replicas

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

はい

vCores

vCores で指定されている各レプリカのサイズ。使用可能な値: 0.1​、​0.2​、​0.5​、​1​、​1.5​、​2​、​2.5​、​3​、​3.5​、​4​。 使用可能な vCore サイズと割り当てられるハードウェアリソースの詳細は、​「CloudHub 2.0 レプリカ」​を参照してください。

いいえ

businessGroup

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

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

この値は、​businessGroupId​ が設定されている場合は省略されます。​businessGroup​ と ​businessGroupId​ が設定されていない場合、値はデフォルトでユーザーのメインビジネスグループになります。

いいえ

businessGroupId

デプロイメントのビジネスグループ ID
ビジネスグループパスを指定する代わりにビジネスグループ ID を指定してアプリケーションをデプロイできます。​businessGroupId​ と ​businessGroup​ が設定されていない場合、値はデフォルトでユーザーのメインビジネスグループになります。
特定のビジネスグループへのアクセス権のみがあり、親組織へのアクセス権がない場合は、ビジネスグループ 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>

いいえ

secureProperties

最上位要素
secureProperties​ 最上位要素を使用して Mule アプリケーションのプロパティを設定し、値を保存する前に暗号化するように CloudHub 2.0 に指示します。

<secureProperties>
  <key>value</key>
</secureProperties>

次に例を示します。

<secureProperties>
  <http.port>8081</http.port>
</secureProperties>

いいえ

skip

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

いいえ

skipDeploymentVerification

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

いいえ

authToken

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

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

connectedAppClientId

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

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

connectedAppClientSecret

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

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

connectedAppGrantType

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

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

deploymentSettings

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

いいえ

integrations

services

objectStoreV2

enabled

true​ の場合、Object Store v2 を使用するようにデプロイメントに指示します。

設定例:

<integrations>
  <services>
    <objectStoreV2>
      <enabled>true</enabled>
    </objectStoreV2>
  </services>
</integrations>

いいえ

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

パラメーター 説明

enforceDeployingReplicasAcrossNodes

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

設定例:

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

updateStrategy

使用可能な値 説明

rolling

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

recreate

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

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

設定例:

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

clustered

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

設定例:

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

http

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

lastMileSecurity

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

forwardSslSession

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

設定例:

<deploymentSettings>
  <http>
    <inbound>
      <publicUrl>https://myapp.anypoint.com</publicUrl>
      <lastMileSecurity>true</lastMileSecurity>
      <forwardSslSession>true</forwardSslSession>
    </inbound>
  </http>
</deploymentSettings>

generateDefaultPublicUrl

true​ に設定されている場合、CloudHub 2.0 は、デプロイ済みアプリケーションの公開 URL を生成します。
このパラメーターは、​非公開スペース​にデプロイされたアプリケーションでのみ使用されます。​共有スペース​にデプロイされたアプリケーションでは常に生成された公開 URL が使用されます。

ログイン情報の暗号化

デプロイするときに暗号化ログイン情報を使用するには、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>
        ...
        <cloudhub2Deployment>
          ...
          <server>my.anypoint.credentials</server>
          ...
        </cloudhub2Deployment>
        ...
      </configuration>
      ...
    <plugin>
    ユーザー名とパスワードがデプロイメント設定で設定されていると、定義されたサーバー ID が上書きされるため、設定されていないことを確認してください。