toolkit-maven-plugin プラグインを使用すると、Enterprise Distributed Application Service(EDAS)の Elastic Compute Service(ECS)クラスタにデプロイされている Spring Cloud、Dubbo、および High-Speed Service Framework(HSF)アプリケーションを更新できます。
前提条件
Spring Cloud、Dubbo、および HSF アプリケーションは EDAS で作成されています。
背景情報
toolkit-maven-plugin プラグインは、完全なアプリケーションライフサイクルフレームワークを構築し、プロジェクトの環境をデプロイするために使用できるオープンソースツールです。 詳細については、「toolkit-maven-plugin の概要」をご参照ください。
また、toolkit-maven-plugin プラグインを使用して、EDAS の Kubernetes クラスタにデプロイされているアプリケーションを更新することもできます。 詳細については、「Alibaba Cloud Toolkit を使用して、Kubernetes クラスタ内のすべてのインスタンスにアプリケーションを同時にリリースする」をご参照ください。
手順
プロジェクトのオンプレミスディレクトリにある pom.xml ファイルに、toolkit-maven-plugin プラグインの次の依存関係を追加します。
<build> <plugins> <plugin> <groupId>com.alibaba.cloud</groupId> <artifactId>toolkit-maven-plugin</artifactId> <version>1.1.5</version> </plugin> </plugins> </build>
説明version を
1.1.5
に設定することをお勧めします。 最新バージョンはサポートされていない可能性があります。プロジェクトのルートディレクトリに .edas_config.yaml という名前の設定ファイルを作成し、ファイルにデプロイパラメータを設定します。
.
がプレフィックスとして付いているファイルは、統合開発環境(IDE)のデフォルト設定ファイルです。 他の設定ファイルが指定されていない場合、プラグインはプロジェクトのルートディレクトリにある .edas_config.yaml ファイルを設定ファイルとして使用します。.
がプレフィックスとして付いていない設定ファイルが作成されている場合は、プロジェクトをカプセル化するときに-Dedas_config=xxx
パラメータを設定して設定ファイルを指定できます。デフォルト設定ファイルが存在し、上記の パラメータを使用して別の設定ファイルを指定した場合、プラグインは指定された設定ファイルを使用します。
説明現在のプロジェクトが Maven プロジェクトのサブモジュールである場合、デフォルト設定ファイルはサブモジュールのルートディレクトリに保存する必要があります。 マルチモジュールプロジェクトのデプロイ方法については、「マルチモジュールプロジェクトをデプロイする」をご参照ください。
一般的な更新シナリオの設定例:
アプリケーションのすべてのインスタンスグループを更新します。
たとえば、中国(北京)リージョンで ID が
eb20****-e6ee-4f6d-a36f-5f6a5455****
であるアプリケーションに複数のインスタンスグループがあり、アプリケーションのすべてのインスタンスグループを更新するとします。 次のサンプルコードは、設定の例を示しています。env: region_id: cn-beijing app: app_id: eb20****-e6ee-4f6d-a36f-5f6a5455****
上記のコードのパラメータ値を実際の値に置き換えます。
アプリケーションの特定のインスタンスグループを更新し、アプリケーションのデプロイパッケージバージョンを指定します。
たとえば、中国(北京)リージョンで ID が
eb20dc8a-e6ee-4f6d-a36f-5f6a545****
であるアプリケーションに複数のインスタンスグループがあり、ID が06923bb9-8c5f-4508-94d8-517b692f****
であるインスタンスグループを更新し、アプリケーションのデプロイパッケージバージョンとして 1.2 を指定するとします。 次のサンプルコードは、設定の例を示しています。env: region_id: cn-beijing app: app_id: eb20dc8a-e6ee-4f6d-a36f-5f6a5455**** package_version: 1.2 group_id: 06923bb9-8c5f-4508-94d8-517b692f****
複雑なシナリオでは、さらにパラメータを設定する必要がある場合があります。 詳細については、「アプリケーションデプロイメントに関連するパラメータを設定する」をご参照ください。
オンプレミスマシンに YAML 形式のアカウントファイルを作成し、ファイルに アクセスキー ID と アクセスキーシークレット を指定します。
[アクセスキー ID] と [アクセスキー シークレット] を使用することをお勧めします。アクセスキーは、[アプリケーション管理] 権限を付与したResource Access Management (RAM) ユーザーのキーを使用します。この方法で、アプリケーションの権限を管理できます。これは、アプリケーションのセキュリティを向上させるのに役立ちます。RAMコンソールの [アクセスキーペア] ページで、RAMユーザーの [アクセスキー ID] と [アクセスキー シークレット] を表示できます。
アカウントファイルの例:
access_key_id:yourAccessKeyId access_key_secret:yourAccessKeySecret
説明yourAccessKeyId
パラメータとyourAccessKeySecret
パラメータの値を実際の アクセスキー ID と アクセスキーシークレット に置き換えます。 アカウントファイルの アクセスキー ID と アクセスキーシークレット は、リクエスト署名を生成するためにのみ使用されます。 アクセスキーペアは、データ転送などの他の目的には使用されません。プロジェクトのオンプレミスディレクトリまたは Maven プロジェクトのサブモジュールディレクトリで、次のコマンドを実行してプロジェクトをカプセル化し、EDAS にアプリケーションをデプロイします。
mvn clean package toolkit:deploy -Daccess_key_file={account file path}
コマンドパラメータの説明:
toolkit:deploy: toolkit-maven-plugin プラグインを使用してアプリケーションをデプロイするかどうかを指定します。 アプリケーションは、このパラメータを設定した場合にのみ、プロジェクトがカプセル化された後にデプロイされます。
access_key_file: アカウントファイルのパス。
説明キーペアの指定方法については、「アカウントの設定と優先順位」をご参照ください。
-Djar_path: 既存のデプロイパッケージのファイルパス。 既存のデプロイパッケージを使用して、プロジェクトをカプセル化せずにアプリケーションをデプロイできます。 デプロイパッケージのパスは、絶対パスまたは相対パスです。 既存のデプロイパッケージのファイルパスを指定するには、次のコマンドを実行します。
mvn toolkit:deploy -Daccess_key_file={account file path} -Djar_path=target/demo.jar
重要env パラメータを設定するときに、アカウントファイルのパスを設定することもできます。 詳細については、「アプリケーションデプロイメントに関連するパラメータを設定する」をご参照ください。 ただし、
-Djar_path
パラメータは env パラメータよりも優先されます。
結果を確認する
Apsara Stack のサポート
toolkit-maven-plugin プラグインは、Apsara Stack Enterprise V3.8.0 以降で使用できます。 プラグインを使用する前に、プラグインで EDAS エンドポイントを設定します。 詳細については、「アプリケーションデプロイメントに関連するパラメータを設定する」をご参照ください。 エンドポイントを取得するには、EDAS テクニカルサポートにお問い合わせください。