Elastic Compute Service (ECS) クラスターで実行されている Spring Cloud、Dubbo、または High-Speed Service Framework (HSF) アプリケーションにコード変更をプッシュする必要がある場合、toolkit-maven-plugin を使用すると、Enterprise Distributed Application Service (EDAS) コンソールに切り替えることなく、Maven プロジェクトから直接ビルドとデプロイを実行できます。
前提条件
開始する前に、以下が準備できていることを確認してください:
EDAS の ECS クラスターにデプロイされた Spring Cloud、Dubbo、または HSF アプリケーション
ターゲットアプリケーションのアプリケーション ID とリージョン ID (EDAS コンソールで確認可能)
[アプリケーション管理] 権限を持つ Resource Access Management (RAM) ユーザーの AccessKey ペア
このガイドでは、ECS クラスターへのデプロイについて説明します。Kubernetes クラスター内のアプリケーションを更新するには、「Alibaba Cloud Toolkit を使用して、Kubernetes クラスター内のすべてのインスタンスに一度にアプリケーションをリリースする」をご参照ください。
ステップ 1: プラグインの依存関係の追加
プロジェクトのルートディレクトリにある 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>バージョン 1.1.5 を使用してください。それ以降のバージョンは完全にはサポートされていない可能性があります。toolkit-maven-plugin は、完全なアプリケーションライフサイクルフレームワークを構築し、プロジェクトのデプロイ環境を構築するために使用できるオープンソースツールです。詳細については、「toolkit-maven-plugin の概要」をご参照ください。
ステップ 2: デプロイ設定ファイルの作成
プロジェクトのルートディレクトリに .edas_config.yaml という名前のファイルを作成し、デプロイパラメーターを定義します。
設定ファイルの解決
| 条件 | 動作 |
|---|---|
.edas_config.yaml がプロジェクトのルートに存在する | プラグインはそれをデフォルト設定として自動的にロードします |
-Dedas_config=<config-file-name> が渡される | プラグインはデフォルトの代わりに指定されたファイルを使用します |
デフォルトファイルと -Dedas_config の両方が存在する | 指定されたファイルが優先されます |
| プロジェクトが Maven サブモジュールである | 設定ファイルをサブモジュールのルートディレクトリに配置します |
マルチモジュールの設定詳細については、「マルチモジュールプロジェクトのデプロイ」をご参照ください。
設定例
すべてのインスタンスグループの更新
アプリケーションのすべてのインスタンスグループを更新するには、リージョン ID とアプリケーション ID のみを指定します:
env:
region_id: cn-beijing
app:
app_id: eb20****-e6ee-4f6d-a36f-5f6a5455****パッケージバージョンを指定した特定のインスタンスグループの更新
単一のインスタンスグループを対象とし、デプロイパッケージバージョンを設定するには:
env:
region_id: cn-beijing
app:
app_id: eb20dc8a-e6ee-4f6d-a36f-5f6a5455****
package_version: 1.2
group_id: 06923bb9-8c5f-4508-94d8-517b692f****プレースホルダーの値を、実際のリージョン ID、アプリケーション ID、グループ ID、およびパッケージバージョンに置き換えてください。
デプロイパラメーターの完全なリストについては、「アプリケーションのデプロイに関連するパラメーターの設定」をご参照ください。
ステップ 3: AccessKey ファイルの作成
ローカルマシンに認証情報を保存するための YAML ファイルを作成します:
access_key_id: <your-access-key-id>
access_key_secret: <your-access-key-secret>プレースホルダーを実際の値に置き換えてください:
| プレースホルダー | 説明 | 入手先 |
|---|---|---|
<your-access-key-id> | RAM ユーザーの AccessKey ID | AccessKey ペア ページ |
<your-access-key-secret> | 同じ RAM ユーザーの AccessKey Secret | 上記と同じページ |
Alibaba Cloud アカウント (root ユーザー) ではなく、[アプリケーション管理] 権限を持つ RAM ユーザーの AccessKey ペアを使用してください。プラグインは、リクエスト署名を生成するためにのみ AccessKey ペアを使用します。認証情報が他の目的で送信されることはありません。
ステップ 4: ビルドとデプロイ
プロジェクトのルートディレクトリ (マルチモジュール Maven プロジェクトの場合はサブモジュールのディレクトリ) から、以下を実行します:
mvn clean package toolkit:deploy -Daccess_key_file=<path-to-access-key-file>コマンドパラメーター
| パラメーター | 説明 |
|---|---|
toolkit:deploy | パッケージング完了後、プラグインを介してデプロイをトリガーします |
-Daccess_key_file | ステップ 3 で作成した AccessKey ファイルへのパス |
認証情報を設定する他の方法については、「アカウント設定と優先順位」をご参照ください。
再ビルドなしでのビルド済みパッケージのデプロイ
ビルドステップをスキップして既存の JAR または WAR ファイルをデプロイするには、-Djar_path パラメーターを使用します:
mvn toolkit:deploy -Daccess_key_file=<path-to-access-key-file> -Djar_path=target/demo.jarパスは、プロジェクトのルートからの絶対パスまたは相対パスを指定できます。
-Djar_path パラメーターは、設定ファイル内の env パラメーターよりも優先されます。設定ファイルの env セクションで AccessKey ファイルのパスを設定することもできます。詳細については、「アプリケーションのデプロイに関連するパラメーターの設定」をご参照ください。
デプロイの確認
デプロイコマンドが完了したら、結果を確認します:
ターミナル出力
ターミナルで Maven の出力を確認します:
出力に
BUILD SUCCESSが表示されていれば、デプロイが完了したことを示します。
出力に
ERRORが含まれている場合は、エラーメッセージを確認し、問題を修正して再デプロイしてください。
EDAS コンソール
EDAS コンソールにログインし、[変更履歴] および [アプリケーション詳細] ページで更新が適用されたことを確認します。詳細については、「結果の確認」をご参照ください。
Apsara Stack のサポート
toolkit-maven-plugin プラグインは、Apsara Stack Enterprise V3.8.0 以降で利用できます。Apsara Stack でプラグインを使用する前に、EDAS エンドポイントを設定してください。エンドポイントの設定詳細については、「アプリケーションのデプロイに関連するパラメーターの設定」をご参照ください。エンドポイントの取得については、EDAS テクニカルサポートにお問い合わせください。