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

CloudOps Orchestration Service:ソフトウェアパッケージをビルドし、OSS にアップロードして、ECS インスタンスにデプロイします。

最終更新日:Feb 09, 2025

このサンプルテンプレートは、Git を使用してコードをプルし、コードからソフトウェアパッケージをビルドし、Object Storage Service (OSS) にソフトウェアパッケージをアップロードし、複数の Elastic Compute Service (ECS) インスタンスに同時にソフトウェアパッケージをデプロイするために使用されます。システムは、既存の ECS インスタンスでソフトウェアパッケージをビルドするか、ソフトウェアパッケージをビルドするための ECS インスタンスを作成できます。ソフトウェアパッケージがビルドされた後、作成された ECS インスタンスは自動的にリリースされます。

前提条件

サンプルテンプレート

  1. Object Storage Service (OSS) や GitHub など、コードソースを指定します。CloudOps Orchestration Service (OOS) は、コードソースからコードをプルするための一時 URL を生成します。

  2. JAR パッケージなどのソフトウェアパッケージをビルドし、OSS にアップロードします。

  1. ソフトウェアパッケージをプルし、複数の ECS インスタンスにデプロイします。

コードソースを準備する

この例では、Spring Boot プロジェクトのサンプルコードを使用します。コードは Gitee と GitHub にアップロードされています。コードを使用する場合は、コードを自分のリポジトリにフォークする必要があります。コードアドレス:

テンプレートを作成する

  1. CloudOps Orchestration Service コンソールにログインします。

  2. 左側のナビゲーションウィンドウで、[自動タスク] > [カスタムテンプレート] を選択し、[テンプレートの作成] をクリックします。

  3. [ビルドとデプロイ] セクションで、[acs-ecs-examplesoftwarepackagebuildanddeployfromgit] を選択し、[次へ] をクリックします。

  4. [プロセス設定] タブで、パラメータを設定し、[テンプレートの作成] をクリックします。

    1. 一時的な承認リンクを生成するためのコードソースを指定します。

      この例では、Gitee をコードソースとして使用します。[所有者][組織][リポジトリ][ブランチ] の各パラメータを設定します。

      説明
      • Alibaba Cloud に GitHub または Gitee リポジトリへのアクセスが承認されていない場合は、[必要な権限を付与する] をクリックします。

      • サンプルコードをフォークした場合、アカウントに属するすべてのリポジトリが [リポジトリ] ドロップダウンリストに自動的に表示されます。この場合、コードをフォークしたリポジトリを選択します。

      2024-12-16_11-42-41.png

    2. JAR パッケージなどのソフトウェアパッケージをビルドし、OSS にアップロードします。

      1. コードソースと ECS インスタンスを選択し、ビルドコマンドを入力します。

        oss.png

        • [コードリソース]: この例では、git が選択されています。前のタスクの出力である authorizedUrl が使用されます。

        • [ビルド ECS の選択]: ECS インスタンスを選択します。[既存の ECS] または [新規 ECS] を選択できます。

          説明

          [新規 ECS] を選択した場合は、従量課金制で課金されます。OOS は、ECS インスタンスに Docker がインストールされているかどうかを自動的にチェックします。Docker がインストールされていない場合、OOS は ECS インスタンスに Docker Community Edition を自動的にインストールします。

        • [ビルド設定]: 必要に応じてビルドコマンドを提供します。

          このサンプルテンプレートを実行すると、最初に Maven がインストールされ、JAR パッケージが作成されます。JAR パッケージは target ディレクトリにあります。サンプルを要件を満たすスクリプトに置き換えることができます。

          サンプルスクリプト (Alibaba Cloud Linux 3)

          ### sample build script
          set -e
          yum install -y maven-3.5.4
          mvn package

          サンプルスクリプト (Ubuntu)

          ### sample build script
          set -e
          apt install -y maven
          mvn package

          サンプルスクリプト (CentOS)

          ### sample build script
          set -e
          yum install -y maven
          mvn package
      2. パッケージパスとビルド名を入力します。

        次の例では、パッケージパスは target/ です。OOS はパッケージを .tgz ファイルに圧縮します。

        构建物.png

    3. ビルド出力を OSS にアップロードします。

      ソフトウェアパッケージをアップロードする OSS バケットとオブジェクトパスを指定します。

      goujianwu --oos.png

      [タスク出力 (オプション)] セクションで、後続のタスクのために bucketName (OSS バケットの名前) と objectName (バケット内のビルドの完全なパス。ディレクトリとビルドの名前を含む) を追加します。後続のタスクで出力を直接使用できます。

    4. Linux を実行している複数の ECS インスタンスにソフトウェアパッケージをデプロイします。

      目标ECS.png

      • [ターゲットインスタンス]: パッケージをデプロイする ECS インスタンスを選択します。

      • [OSS]: ビルドが属する OSS バケットの情報。OSS バケット名と OSS オブジェクト名はデフォルトで参照されます。繰り返し指定する必要はありません。また、パッケージをダウンロードするディレクトリも指定する必要があります。この例では、/home/admin/app/ を使用しています。

      • [デプロイスクリプト]: 要件に基づいてデプロイスクリプトを提供できます。

        この例では、.tgz ファイルが指定されたパスに解凍され、java -jar コマンドを使用してポート 8080 で JAR パッケージが実行されます。

    5. オプション。同時実行制御パラメータを設定して、複数の ECS インスタンスの同時実行率を制御します。

    6. [テンプレートの作成] をクリックします。

テンプレートを実行する

  1. CloudOps Orchestration Service コンソールにログインします。

  2. 左側のナビゲーションウィンドウで、[自動タスク] > [カスタムテンプレート] を選択します。

  3. [カスタムテンプレート] ページで、テンプレートを見つけ、[アクション] 列の [実行の作成] をクリックします。

  4. [基本情報] ステップで、パラメータを設定し、[次のステップ: パラメータ設定] をクリックします。

  5. [パラメータ設定] ステップで、使用可能なパラメータがない場合は [OK] をクリックします。

  6. [作成] をクリックします。

    [タスク実行管理] ページで、実行ステータスが [成功] の場合、実行は完了です。

    执行模板结果-zh.png

  7. ECS コンソール にログインします。

  8. ECS インスタンスを見つけ、インスタンスに接続します。

    詳細については、「Workbench を使用して SSH 経由で Linux インスタンスに接続する」をご参照ください。

  9. 次のコマンドを実行して、デプロイが成功したかどうかを確認します。

    curl http://localhost:8080/hello

    次のメッセージが返された場合、デプロイは成功です。image

    説明

    Failed to connect to localhost port 8080:Connection refused というメッセージが返された場合、考えられる原因は、ECS インスタンスに Java がインストールされていないことです。yum install java コマンドを実行して、もう一度確認してください。

次のステップ

今後コードを更新する場合は、更新されたコードを対応する Git リポジトリにプッシュし、このテンプレートを再度実行するだけで済みます。最新のコードがリポジトリから自動的にプルされ、パッケージ化され、OSS にアップロードされて、ECS インスタンスにデプロイされます。テンプレートを変更する場合は、テンプレートを変更してから実行できます。