このデプロイメントタイプを使用して、ソースファイルが Object Storage Service (OSS) に保存されているアプリケーションを公開します。
仕組み
Auto Scaling (ESS) グループであるアプリケーショングループにデプロイメントする場合、デプロイメント中はスケーリングアクティビティが一時停止します。デプロイメントが成功したか失敗したかにかかわらず、デプロイメントが完了すると自動的に再開されます。
デプロイメントプロセスは、停止・起動の原則に従います。各デプロイメントでは、まず停止スクリプトが実行され、次に起動スクリプトが実行されます。
デプロイメントの作成と公開。
デプロイメントのアプリケーションソースファイル情報、起動スクリプト、および停止スクリプトを設定します。
リリースタスクを作成し、リリースモードを選択して、ターゲットアプリケーショングループにデプロイメントを公開します。
リリースタスクの自動デプロイメントフロー。
OSS ファイルの詳細やアプリケーションの起動・停止スクリプトなど、デプロイメント情報を取得します。
OSS ファイルを作業ディレクトリにダウンロードします。
停止スクリプトを実行して、古いバージョンのアプリケーションを停止します。
起動スクリプトを実行して、新しいバージョンのアプリケーションを起動します。
適用範囲
デプロイメントは Linux インスタンスでのみサポートされます。
起動スクリプトと停止スクリプトはシェルスクリプトである必要があります。
操作手順
アプリケーションを作成し、ECS インスタンスをインポートします。
Elastic Compute Service (ECS) インスタンスがない場合は、ECS コンソール - カスタム起動 ページに移動して、Linux を実行する ECS インスタンスを作成します。
Alibaba Cloud Linux 3.2104 LTS 64 ビットまたは Ubuntu 22.04 64 ビットの ECS イメージを使用します。以下の例のスクリプトは、これら 2 つのイメージに基づいています。異なるイメージを使用する場合は、必要に応じてスクリプトを修正する必要があります。
ECS コンソール - アプリケーション管理 ページに移動し、[既存のリソースから作成] をクリックします。アプリケーションとアプリケーショングループを作成し、ECS インスタンスをアプリケーショングループにインポートします。
OSS デプロイメントを作成します。
公式サンプルの JAR パッケージをダウンロードし、OSS にアップロードします。
ECS コンソール - アプリケーション管理 ページに移動します。[マイアプリケーション] タブで、ターゲットアプリケーションの名前をクリックします。
アプリケーションの詳細ページで、[デプロイメント] タブを選択し、[デプロイメントの作成] をクリックします。
[デプロイメントの作成] ページで、[デプロイメントタイプ] を [OSS ファイル] に設定します。パラメーターを設定し、[OK] をクリックします。
OSS ファイル情報:JAR パッケージの OSS バケットとファイルパスを設定します。
ECS インスタンスと OSS バケットが同じリージョンにある場合は、[イントラネット経由でのダウンロード] を選択してダウンロード速度を向上させることができます。
作業ディレクトリ:アプリケーションの起動スクリプトと停止スクリプトの実行ディレクトリを設定します。OSS ファイルは自動的にこのディレクトリにダウンロードされます。例:
/root/deploy。Alibaba Cloud Linux
start_application() { set -e yum install -y maven-3.5.4 java -jar ./sample-spring-1.0-SNAPSHOT.jar & } start_applicationUbuntu
start_application() { set -e apt update apt install -y maven java -jar ./sample-spring-1.0-SNAPSHOT.jar & } start_application### アプリケーションを停止します (存在する場合) stop_application() { PID=$(ps -ef | grep "sample-spring-1.0-SNAPSHOT.jar" | grep -v "grep" | awk '{print $2}') if [ -n "$PID" ]; then kill -9 $PID fi } stop_application
デプロイメントリストに戻ります。作成したデプロイメントを見つけて [公開] をクリックします。表示されるダイアログボックスで、ターゲットグループを選択し、[OK] をクリックしてデプロイメントを開始します。
結果を検証します。
ターゲットインスタンスの詳細ページに移動します。[接続] をクリックし、[ワークベンチ] を選択します。ページのプロンプトに従ってターミナルにログインします。
curl http://localhost:8080/helloコマンドを実行します。Alibaba Spring Sample!が返された場合、デプロイメントは成功です。
重要なフィールド
フィールド | 説明 |
OSS リージョン | ソースファイルを含む OSS バケットのリージョン。 |
OSS バケット | ソースファイルを含む OSS バケット。 |
OSS ファイル | OSS バケット内のソースファイルオブジェクト。 |
OSS ファイルバージョン | ファイルの特定のバージョン ID。これは、バケットでバージョン管理が有効になっている場合にのみ必要です。バージョン管理が有効になっていない場合は、このフィールドを空のままにします。 |
イントラネット経由でのダウンロード | ECS インスタンスと OSS バケットが同じリージョンにある場合にこのオプションを選択します。 |
作業ディレクトリ | アプリケーションソースファイルのダウンロードパス。これは、起動スクリプトと停止スクリプトの実行ディレクトリでもあります。
|
アプリケーション起動スクリプト | アプリケーションを起動するためのシェルスクリプト。 |
アプリケーション停止スクリプト | アプリケーションを停止するためのシェルスクリプト。 たとえば、次のスクリプトは |