このデプロイメントタイプを使用して、ソースファイルが Git リポジトリに保存されているアプリケーションを公開します。
仕組み
Auto Scaling (ESS) グループであるアプリケーショングループにデプロイする場合、デプロイメント中にスケーリングアクティビティは一時停止されます。デプロイメントが成功したか失敗したかに関わらず、デプロイメントの完了後に自動的に再開されます。
デプロイメントプロセスは、停止・起動の原則に従います。各デプロイメントでは、まず停止スクリプトが実行され、次に起動スクリプトが実行されます。
デプロイメントの作成と公開
デプロイメントのために、アプリケーションソースファイルの情報、起動スクリプト、および停止スクリプトを設定します。
リリースタスクを作成し、リリースモードを選択し、ターゲットのアプリケーショングループにデプロイメントを公開します。
公開タスクの自動デプロイメントプロセス
デプロイメント情報を取得します。これには、Git リポジトリの情報とアプリケーションの起動・停止スクリプトが含まれます。
コードをプルします。コードは、指定されたブランチから作業ディレクトリ内の
code_deploy_applicationフォルダにプルされます。停止スクリプトを実行します。アプリケーション停止スクリプトが実行され、古いバージョンのアプリケーションが停止されます。
起動スクリプトを実行します。アプリケーション起動スクリプトが実行され、新しいバージョンのアプリケーションが起動されます。
適用範囲
デプロイメントは Linux インスタンスでのみサポートされています。
起動スクリプトと停止スクリプトでは、シェルスクリプトのみがサポートされています。
操作手順
アプリケーションを作成し、ECS インスタンスをインポートします。
Elastic Compute Service (ECS) インスタンスをお持ちでない場合は、ECS コンソール - カスタム起動ページに移動します。Linux オペレーティングシステムを実行し、インターネットにアクセスできる ECS インスタンスを作成します。
Alibaba Cloud Linux 3.2104 LTS 64 ビットや Ubuntu 22.04 64 ビットなどの ECS イメージを選択します。以下の例のスクリプトは、これら 2 つのイメージ用に記述されています。異なるイメージを使用する場合は、これらの例に基づいてスクリプトを修正する必要があります。
ECS コンソール - アプリケーション管理ページに移動し、[既存のリソースから作成] をクリックします。アプリケーションとアプリケーショングループを作成し、ECS インスタンスをアプリケーショングループにインポートします。
デプロイメントを作成します。
次のサンプルコードを個人の Git リポジトリにフォークします。
個人の Gitee または GitHub アカウントが必要です。インスタンスが中国本土にある場合は、Gitee を使用してください。
ECS コンソール - アプリケーション管理 ページに移動します。[マイアプリケーション] タブで、対象のアプリケーションの名前をクリックします。
アプリケーション詳細ページで、[デプロイメント] タブを選択し、[デプロイメントの作成] をクリックします。
[デプロイメントの作成] ページで、[RevisionType] を [Git リポジトリコード] に設定し、パラメーターを設定してから [OK] をクリックします。
Git リポジトリ情報:コードが含まれる Git リポジトリの情報を設定します。
この機能を初めて使用する場合は、コンソールのプロンプトに従って、Git リポジトリのワンクリック権限付与を完了してください。
作業ディレクトリ:アプリケーションの起動スクリプトと停止スクリプトが実行されるディレクトリです。例:
/root/deploy。デフォルトでは、コードはこのディレクトリ内のcode_deploy_applicationフォルダにプルされます。Alibaba Cloud Linux
### 注:Git リポジトリのコードは、作業ディレクトリ内の code_deploy_application フォルダに自動的にダウンロードされます。パスは {作業ディレクトリ}/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
### 注:Git リポジトリのコードは、作業ディレクトリ内の code_deploy_application フォルダに自動的にダウンロードされます。パスは {作業ディレクトリ}/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!が返された場合、デプロイメントは成功です。
主要パラメーター
フィールド | 説明 |
プラットフォーム | コードが配置されている Git リポジトリプラットフォームを選択します。 |
オーナー | Git リポジトリを所有するアカウントを選択します。初めて使用する際に権限付与を行います。 |
組織 | 個人リポジトリまたは組織リポジトリを選択します。 |
リポジトリ | コードが配置されているリポジトリを選択します。 |
ブランチ | デプロイするブランチを選択します。 |
CommitId | 値を入力する必要はありません。ブランチを選択すると、システムが自動的に最新の CommitId を取得します。 |
作業ディレクトリ | アプリケーションの起動スクリプトと停止スクリプトの作業ディレクトリです。
|
アプリケーション起動スクリプト | アプリケーションを起動するために使用されるシェルスクリプトです。 |
アプリケーション停止スクリプト | アプリケーションを停止するためのシェルスクリプトです。 たとえば、次のスクリプトは |