すべてのプロダクト
Search
ドキュメントセンター

CloudOps Orchestration Service:OSS デプロイメント

最終更新日:Mar 01, 2026

このデプロイメントタイプを使用して、ソースファイルが Object Storage Service (OSS) に保存されているアプリケーションを公開します。

仕組み

重要
  • Auto Scaling (ESS) グループであるアプリケーショングループにデプロイメントする場合、デプロイメント中はスケーリングアクティビティが一時停止します。デプロイメントが成功したか失敗したかにかかわらず、デプロイメントが完了すると自動的に再開されます。

  • デプロイメントプロセスは、停止・起動の原則に従います。各デプロイメントでは、まず停止スクリプトが実行され、次に起動スクリプトが実行されます。

  1. デプロイメントの作成と公開

    デプロイメントのアプリケーションソースファイル情報、起動スクリプト、および停止スクリプトを設定します。

    リリースタスクを作成し、リリースモードを選択して、ターゲットアプリケーショングループにデプロイメントを公開します。

  2. リリースタスクの自動デプロイメントフロー

    1. OSS ファイルの詳細やアプリケーションの起動・停止スクリプトなど、デプロイメント情報を取得します。

    2. OSS ファイルを作業ディレクトリにダウンロードします。

    3. 停止スクリプトを実行して、古いバージョンのアプリケーションを停止します。

    4. 起動スクリプトを実行して、新しいバージョンのアプリケーションを起動します。

適用範囲

  • デプロイメントは Linux インスタンスでのみサポートされます。

  • 起動スクリプトと停止スクリプトはシェルスクリプトである必要があります。

操作手順

  1. アプリケーションを作成し、ECS インスタンスをインポートします。

    1. Elastic Compute Service (ECS) インスタンスがない場合は、ECS コンソール - カスタム起動 ページに移動して、Linux を実行する ECS インスタンスを作成します。

      Alibaba Cloud Linux 3.2104 LTS 64 ビットまたは Ubuntu 22.04 64 ビットの ECS イメージを使用します。以下の例のスクリプトは、これら 2 つのイメージに基づいています。異なるイメージを使用する場合は、必要に応じてスクリプトを修正する必要があります。
    2. ECS コンソール - アプリケーション管理 ページに移動し、[既存のリソースから作成] をクリックします。アプリケーションとアプリケーショングループを作成し、ECS インスタンスをアプリケーショングループにインポートします。

  2. OSS デプロイメントを作成します。

    1. 公式サンプルの JAR パッケージをダウンロードし、OSS にアップロードします。

    2. ECS コンソール - アプリケーション管理 ページに移動します。[マイアプリケーション] タブで、ターゲットアプリケーションの名前をクリックします。

    3. アプリケーションの詳細ページで、[デプロイメント] タブを選択し、[デプロイメントの作成] をクリックします。

    4. [デプロイメントの作成] ページで、[デプロイメントタイプ][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_application

        Ubuntu

        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
  3. デプロイメントリストに戻ります。作成したデプロイメントを見つけて [公開] をクリックします。表示されるダイアログボックスで、ターゲットグループを選択し、[OK] をクリックしてデプロイメントを開始します。

  4. 結果を検証します。

    1. ターゲットインスタンスの詳細ページに移動します。[接続] をクリックし、[ワークベンチ] を選択します。ページのプロンプトに従ってターミナルにログインします。

    2. curl http://localhost:8080/hello コマンドを実行します。Alibaba Spring Sample! が返された場合、デプロイメントは成功です。

重要なフィールド

フィールド

説明

OSS リージョン

ソースファイルを含む OSS バケットのリージョン。

OSS バケット

ソースファイルを含む OSS バケット。

OSS ファイル

OSS バケット内のソースファイルオブジェクト。

OSS ファイルバージョン

ファイルの特定のバージョン ID。これは、バケットでバージョン管理が有効になっている場合にのみ必要です。バージョン管理が有効になっていない場合は、このフィールドを空のままにします。

イントラネット経由でのダウンロード

ECS インスタンスと OSS バケットが同じリージョンにある場合にこのオプションを選択します。

作業ディレクトリ

アプリケーションソースファイルのダウンロードパス。これは、起動スクリプトと停止スクリプトの実行ディレクトリでもあります。

  • 絶対パスである必要があります。

  • OSS ファイルは自動的にこのディレクトリにダウンロードされ、スクリプトは直接アクセスして操作できます。

  • ディレクトリが存在しない場合、デプロイメント中に自動的に作成されます。

アプリケーション起動スクリプト

アプリケーションを起動するためのシェルスクリプト。

アプリケーション停止スクリプト

アプリケーションを停止するためのシェルスクリプト。
スクリプトは、現在および以前のバージョンのアプリケーションを正しく停止する必要があります。アプリケーションが実行されていない場合でも、スクリプトはエラーなしで正常に終了する必要があります。

たとえば、次のスクリプトは my-container という名前のコンテナーを停止します。このスクリプトは、コンテナーのすべてのバージョンが同じ名前であることを前提としています。コンテナーが存在しない場合、スクリプトはエラーを報告しません:

container_name="my-container"
container_id=$(docker ps -aq -f name=${container_name}) 
if [ -n "$container_id" ]; then
  docker rm -f $container_id
fi