Git リポジトリから Elastic Compute Service (ECS) インスタンスまたは Auto Scaling (ESS) のスケーリンググループにアプリケーションをデプロイします。
仕組み
Auto Scaling (ESS) グループであるアプリケーショングループにデプロイメントする場合、デプロイメント中はスケーリングアクティビティが一時停止します。デプロイメントが成功したか失敗したかにかかわらず、デプロイメントが完了すると自動的に再開されます。
デプロイメントプロセスは、停止・起動の原則に従います。各デプロイメントでは、まず停止スクリプトが実行され、次に起動スクリプトが実行されます。
デプロイメントの作成と公開。
デプロイメントのアプリケーションソースファイル情報、起動スクリプト、および停止スクリプトを設定します。
リリースタスクを作成し、リリースモードを選択して、ターゲットアプリケーショングループにデプロイメントを公開します。
-
自動デプロイプロセス
-
デプロイ情報の取得:Git リポジトリの詳細と起動/停止スクリプト。
-
指定されたブランチから作業ディレクトリの
code_deploy_applicationフォルダーにコードをプルします。 -
停止スクリプトを実行して、現在のアプリケーションを停止します。
-
起動スクリプトを実行して、新しいバージョンのアプリケーションを起動します。
-
使用上の注意
-
Linux インスタンスのみをサポートしています。
-
起動スクリプトと停止スクリプトは Shell スクリプトである必要があります。
手順
-
アプリケーションを作成し、ECS インスタンスをインポートします。
-
ECS インスタンスがない場合は、ECS コンソール - Custom Launch ページで、パブリック IP アドレスを持つ Linux インスタンスを作成します。
推奨イメージ:Alibaba Cloud Linux 3.2104 LTS 64 ビットまたは Ubuntu 22.04 64 ビット。サンプルスクリプトはこれらのイメージを対象としています。異なるイメージを使用する場合は、スクリプトを修正してください。
ECS コンソール - アプリケーション管理 ページに移動し、[既存のリソースから作成] をクリックします。アプリケーションとアプリケーショングループを作成し、ECS インスタンスをアプリケーショングループにインポートします。
-
-
デプロイを作成します。
-
サンプルコードを自分の Git リポジトリにフォークします。
Gitee または GitHub アカウントが必要です。中国本土のインスタンスには Gitee を使用します。
ECS コンソール - アプリケーション管理 ページに移動します。[マイアプリケーション] タブで、ターゲットアプリケーションの名前をクリックします。
アプリケーションの詳細ページで、[デプロイメント] タブを選択し、[デプロイメントの作成] をクリックします。
-
デプロイメントの作成 ページで、[RevisionType] を Git リポジトリ に設定し、パラメーターを設定してから OK をクリックします。
-
Git リポジトリ情報:コードを格納するリポジトリを指定します。
初めて使用する際は、画面の指示に従って Git リポジトリへのアクセスを承認してください。
-
作業ディレクトリ:起動スクリプトと停止スクリプトが実行されるディレクトリです。例:
/root/deploy。コードはこのディレクトリ内のcode_deploy_applicationフォルダーにプルされます。 -
Alibaba Cloud Linux
# 注:コードは作業ディレクトリ内の code_deploy_application フォルダーにダウンロードされます。 # 現在のバージョンのアプリケーションを起動します。 start_application() { cd ./code_deploy_application set -e yum install -y maven-3.5.4 java -jar sample-spring-1.0-SNAPSHOT.jar & } start_applicationUbuntu
# 注:コードは作業ディレクトリ内の code_deploy_application フォルダーにダウンロードされます。 # 現在のバージョンのアプリケーションを起動します。 start_application() { cd ./code_deploy_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!が返された場合、デプロイメントは成功です。
主なパラメーター
|
パラメーター |
説明 |
|
Platform |
コードがホストされている Git プラットフォームを選択します。 |
|
Owner |
リポジトリのオーナーを選択します。初めて使用する際には承認が必要です。 |
|
Organization |
個人またはオーガニゼーションのリポジトリを選択します。 |
|
Repository |
コードリポジトリを選択します。 |
|
Branch |
デプロイするブランチを選択します。 |
|
CommitId |
自動入力されます。ブランチを選択すると、システムが最新の CommitId を取得します。 |
|
作業ディレクトリ |
起動スクリプトと停止スクリプトが実行されるディレクトリです。
|
|
アプリケーションの起動スクリプト |
アプリケーションを起動するための Shell スクリプトです。 |
|
アプリケーションの停止スクリプト |
アプリケーションを停止するためのシェルスクリプト。 たとえば、次のスクリプトは |