GitHub からコードをプルし、そのコードを使用して単一の Elastic Compute Service (ECS) インスタンスでアプリケーションをビルドおよびデプロイする場合、CloudOps Orchestration Service (OOS) テンプレートを実行してアプリケーションをビルドおよびデプロイできます。
このサンプルテンプレートは、単一の ECS インスタンスにアプリケーションをビルドおよびデプロイするために使用されます。ビルドをリポジトリに公開したり、複数の ECS インスタンスにデプロイしたりする場合は、「イメージをビルドして Container Registry にアップロードする」、「Docker イメージを作成して Container Registry にアップロードし、ECS にデプロイする」、「ソフトウェアパッケージをビルドして OSS にアップロードする」、および「ソフトウェアパッケージをビルドして OSS にアップロードし、ECS インスタンスにデプロイする」をご参照ください。
前提条件
ECS インスタンスが作成されていること。詳細については、「インスタンスの作成」をご参照ください。
ECS インスタンスがインターネットにアクセスできること。詳細については、「インターネットアクセスの有効化」をご参照ください。
サンプルテンプレート
OSS や GitHub など、コードソースを指定します。OOS は、コードソースからコードをプルするための一時 URL を生成します。
OOS は、アプリケーションのビルドとデプロイに使用されるスクリプトを実行するために、コードを自動的にプルします。
例
コードソースを準備する
この例では、Spring Boot プロジェクトのサンプルコードを使用します。コードは Gitee と GitHub にアップロードされています。コードを使用する場合は、コードを自分のリポジトリにフォークする必要があります。コードアドレス:
テンプレートを作成する
CloudOps Orchestration Service コンソールにログインします。
左側のナビゲーションウィンドウで、 を選択し、[テンプレートの作成] をクリックします。
[ビルドとデプロイ] セクションで、[acs-ecs-examplelocalbuildanddeployonsingleecsfromgit] を選択し、[次のステップ] をクリックします。
[プロセス設定] タブで、パラメーターを設定し、[テンプレートの作成] をクリックします。
一時的な承認リンクを生成するためにコードソースを指定します。
この例では、Gitee をコードソースとして使用します。[所有者]、[組織]、[リポジトリ]、[ブランチ] の各パラメーターを設定します。
説明Alibaba Cloud が GitHub または Gitee リポジトリにアクセスする権限を持っていない場合は、[必要な権限を付与する] をクリックします。
サンプルコードをフォークした場合、アカウントに属するすべてのリポジトリが [リポジトリ] ドロップダウンリストに自動的に表示されます。この場合、コードをフォークしたリポジトリを選択します。

Gitee からコードをプルして、アプリケーションをビルドおよびデプロイします。
アプリケーションをデプロイする ECS インスタンスを選択します。CodeResource を
gitに設定します。デフォルト値authorizedUrl(前のタスクの出力) が CodeResourceUrl に使用されます。この例は参照用です。要件に基づいてスクリプトを指定できます。
サンプルスクリプト (Alibaba Cloud Linux 3)
### jar ファイルをビルドします。 set -e yum install -y maven-3.5.4 mvn package ### アプリケーションの以前のバージョン (存在する場合) を停止し、現在のバージョンをデプロイします。 PID=$(ps -ef | grep "sample-spring-1.0-SNAPSHOT.jar" | grep -v "grep" | awk '{print $2}') if [ -n "$PID" ]; then kill -9 $PID fi java -jar target/sample-spring-1.0-SNAPSHOT.jar &サンプルスクリプト (Ubuntu)
### jar ファイルをビルドします。 set -e apt install -y maven mvn package ### アプリケーションの以前のバージョン (存在する場合) を停止し、現在のバージョンをデプロイします。 PID=$(ps -ef | grep "sample-spring-1.0-SNAPSHOT.jar" | grep -v "grep" | awk '{print $2}') if [ -n "$PID" ]; then kill -9 $PID fi java -jar target/sample-spring-1.0-SNAPSHOT.jar &サンプルスクリプト (CentOS)
### jar ファイルをビルドします。 set -e yum install -y maven mvn package ### アプリケーションの以前のバージョン (存在する場合) を停止し、現在のバージョンをデプロイします。 PID=$(ps -ef | grep "sample-spring-1.0-SNAPSHOT.jar" | grep -v "grep" | awk '{print $2}') if [ -n "$PID" ]; then kill -9 $PID fi java -jar target/sample-spring-1.0-SNAPSHOT.jar &説明テンプレートが実行されると、コードは
/root/workspace/タスク IDディレクトリ内のフォルダにプルされます。このフォルダは、ビルドおよびデプロイスクリプトの作業パスとしても使用されます。スクリプトでカスタムパスを指定することもできます。
テンプレートの作成 をクリックします。
テンプレートを実行する
CloudOps Orchestration Service コンソールにログインします。
左側のナビゲーションウィンドウで、 を選択します。
カスタム テンプレート[実行の作成]アクション ページで、テンプレートを見つけ、 列の をクリックします。
[基本情報] ステップで、パラメーターを設定し、[次のステップ: パラメーター設定] をクリックします。
[パラメーター設定] ステップで、使用可能なパラメーターがない場合は [OK] をクリックします。
[作成] をクリックします。
タスク実行管理ページで、実行ステータスが [成功] の場合、実行は完了です。

ECS コンソール にログインします。
ECS インスタンスを見つけ、インスタンスに接続します。
詳細については、「Workbench を使用して SSH 経由で Linux インスタンスに接続する」をご参照ください。
次のコマンドを実行して、デプロイが成功したかどうかを確認します。
curl http://localhost:8080/hello次のフィールドが返された場合、デプロイは成功です。
