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

Enterprise Distributed Application Service:Jenkins から EDAS へのアプリケーションのデプロイ

最終更新日:Mar 12, 2026

edas-jenkins-plugin は、Enterprise Distributed Application Service (EDAS) と Jenkins を統合し、CI/CD パイプラインから直接 Elastic Compute Service (ECS) クラスターおよび Container Service for Kubernetes (ACK) クラスターへの継続的デプロイメントを可能にします。

3 つのデプロイアプローチが利用可能です:

  • フリースタイル・プロジェクト -- スクリプトを使用せず、Jenkins GUI を通じてデプロイメントを設定します。

  • パイプラインスクリプト -- 組み込みのスニペットジェネレーターでデプロイステップを生成し、Jenkins パイプラインに埋め込みます。

  • Job DSL -- 再利用可能なデプロイテンプレートをプログラムで定義します。

前提条件

開始する前に、以下が準備できていることを確認してください:

  • Jenkins に Job DSL プラグインがインストールされていること (Job DSL でのデプロイにのみ必須)

  • EDAS が有効化された Alibaba Cloud アカウント

  • Alibaba Cloud アカウント用の AccessKey ペア

edas-jenkins-plugin のインストール

  1. edas-jenkins-plugin.hpi ファイルをダウンロードします。

  2. Jenkins で、[Jenkins の管理] > [プラグインの管理] に移動します。

  3. [プラグインマネージャー] ページで、[高度な設定] タブを選択します。

  4. [プラグインのアップロード] セクションで、[ファイルを選択] をクリックし、ダウンロードした .hpi ファイルを選択して、[アップロード] をクリックします。

  5. [プラグイン/アップグレードのインストール] ページでインストールが完了するのを待ちます。

EDAS 認証情報の設定

プラグインをインストールした後、Jenkins が EDAS で認証できるように、Alibaba Cloud の認証情報を追加します。

  1. Jenkins で、[Jenkins の管理] > [システムの設定] に移動します。

  2. [Deploy to EDAS] セクションまでスクロールし、アカウント情報を設定します。[追加] をクリックし、次に [高度な設定] をクリックしてリージョン情報を入力します。

    パラメーター説明
    EDAS 認証情報名この認証情報セットの説明的な名前。例:prod-edasstaging-edas
    EDAS Access Key IDご利用の Alibaba Cloud アカウントの AccessKey ID。詳細については、「AccessKey ペアの作成」をご参照ください。
    EDAS Access Key Secretご利用の Alibaba Cloud アカウントの AccessKey Secret。
    EDAS リージョンアプリケーションがデプロイされているリージョン ID。例:cn-hangzhou
    エンドポイント(Apsara Stack のみ) EDAS エンドポイント。この値については、EDAS テクニカルサポートにお問い合わせください。Alibaba Cloud の場合は空白のままにします。
  3. [追加] をクリックして認証情報の設定を保存します。さらにリージョンやアカウントの設定を追加するには、再度 [追加] をクリックします。

  4. [Ping EDAS] をクリックして接続性を確認します。「success」というメッセージが表示されれば、認証情報が有効であることが確認されます。

    Deploy into EDAS configuration

フリースタイル・プロジェクトでのデプロイ

スクリプトを使用しない GUI ベースのデプロイメントには、フリースタイル・プロジェクトを使用します。

  1. Jenkins のホームページで、[新規ジョブ作成] をクリックします。

  2. プロジェクト名を入力し、[フリースタイルプロジェクト] を選択し、[OK] をクリックします。

  3. [ビルド後の処理] セクションで、[ビルド後の処理の追加] をクリックし、[Deploy to EDAS] を選択します。

  4. [Deploy to EDAS] セクションで、[追加] をクリックし、デプロイモードを選択します:

    デプロイモードユースケース
    EDAS ECS ApplicationECS クラスター内の既存のアプリケーションを更新します。「ECS デプロイメントパラメーター」をご参照ください。
    Create EDAS ECS ApplicationECS クラスターで新しいアプリケーションを作成してデプロイします。「ECS 作成パラメーター」をご参照ください。
    EDAS K8s ApplicationACK クラスター内の既存のアプリケーションを更新します。「K8s デプロイメントパラメーター」をご参照ください。
    Create EDAS K8s ApplicationACK クラスターで新しいアプリケーションを作成してデプロイします。「K8s 作成パラメーター」をご参照ください。

    Add a deployment mode

  5. [保存] または [適用] をクリックします。

  6. 左側のナビゲーションウィンドウで、[ビルド実行] をクリックしてデプロイメントをトリガーします。

    Build a project

ビルド結果の確認

ビルドが完了すると、[ビルド履歴] セクションに新しいエントリが表示されます。ビルド番号をクリックすると、デプロイメントのステータスとログが表示されます。

Project build details

パイプラインスクリプトでのデプロイ

Jenkins パイプラインを使用して、デプロイメントをコードとして定義します。このプラグインは、デプロイステップを生成する組み込みのスニペットジェネレーターをサポートしています。

パイプラインスクリプトの生成

  1. Jenkins のホームページで、[新規ジョブ作成] をクリックします。

  2. プロジェクト名を入力し、[パイプライン] を選択して [OK] をクリックします。

  3. [パイプライン] セクションで、[Pipeline Syntax] をクリックしてスニペットジェネレーターを開きます。

    説明 既存のパイプラインの場合は、プロジェクトリストでパイプライン名をクリックし、左側のナビゲーションウィンドウで [Pipeline Syntax] をクリックします。
  4. Sample Step]ドロップダウンリストから、[edasClient: Deploy into EDAS]を選択します。

  5. [アプリケーション設定]」の横にある[追加]をクリックし、クラスタータイプ(ECS または K8s)およびアプリケーションの更新または作成の有無に応じてデプロイモードを選択します。

  6. デプロイメントパラメーターを設定します。詳細については、「デプロイメントパラメーターの設定」をご参照ください。

  7. [パイプラインスクリプトの生成] をクリックし、生成されたスクリプトをコピーします。

    Generate Pipeline Script

パイプラインへのスクリプトの追加

  1. パイプライン設定ページに戻ります。左側のナビゲーションウィンドウで [戻る] をクリックし、次に [設定] をクリックします。

  2. [パイプライン] セクションで、生成されたスクリプトをスクリプトエディタに貼り付けます。前のステップで生成したスクリプトで、デプロイステップのプレースホルダーを置き換えます。

    説明 次の図では、ハイライトされたエリアの内容を、前のステップで生成したスクリプトに置き換えます。

    Pipeline script configuration

  3. [保存] または [適用] をクリックします。

  4. 左側のナビゲーションウィンドウで、[ビルド実行] をクリックしてパイプラインをトリガーします。

ビルドが完了したら、[ビルド履歴] セクションでデプロイメントの結果を確認します。

Job DSL でのデプロイ

Job DSL を使用して、デプロイジョブをコードテンプレートとして定義します。このアプローチは、多数の類似したデプロイジョブを管理し、それらをプログラムで生成する場合に便利です。

  1. Jenkins のホームページで、[新規ジョブ作成] をクリックします。

  2. プロジェクト名を入力し、[フリースタイル・プロジェクト] を選択して [OK] をクリックします。

  3. ビルド」セクションで、「ビルド ステップの追加」をクリックし、「ジョブ DSL の処理」を選択します。

    Process Job DSLs

  4. [提供された DSL スクリプトを使用する] を選択し、[DSL スクリプト] フィールドに Job DSL スクリプトを入力します。次の例では、デプロイジョブを作成します:

       job('edas') {                              // ビルドするジョブの名前
           publishers {                           // EDAS プラグインのタイプ
               edasClient {                       // EDAS プラグインを呼び出すクライアント
                   deployApplication(
                       '',                        // 名前空間
                       '',                        // 認証情報文字列
                       '',                        // デプロイグループ
                       '',                        // EDAS アプリケーション ID
                       ''                         // デプロイアーティファクトへのパス (WAR/JAR)
                   )
               }
           }
       }
  5. [保存] または [適用] をクリックします。

  6. 左側のナビゲーションウィンドウで、[ビルド実行] をクリックしてデプロイジョブを生成します。

ビルドが完了すると、生成されたジョブが Jenkins のホームページに表示されます。生成されたジョブを実行して、アプリケーションをデプロイします。

Job DSL API リファレンス

このプラグインは、Job DSL 用に以下のメソッドを公開します。各メソッドには、コンパクト形式 (必須パラメーターのみ) と拡張形式 (すべてのパラメーター) があります。

ECS クラスターのメソッド

ECS クラスターへのデプロイ (既存のアプリケーションの更新):

// コンパクト形式
void deployApplication(
    String namespace,          // EDAS 名前空間 ID
    String credentialsString,  // 認証情報名
    String group,              // デプロイグループ
    String appId,              // EDAS アプリケーション ID
    String targetObject        // デプロイアーティファクトへのパス (WAR/JAR)
)

// 拡張形式
void deployApplication(
    String namespace,
    String credentialsString,
    String group,
    String appId,
    String targetObject,
    String versionLabelFormat,          // バージョンラベルのパターン
    String versionDescriptionFormat,    // バージョン説明のパターン
    String batch,                       // デプロイバッチ数
    String batchWaitTime,               // バッチ間の待機時間 (秒)
    String releaseType                  // リリースタイプ
)

ECS クラスターへの作成とデプロイ (新しいアプリケーションの作成):

// コンパクト形式
void insertApplication(
    String namespace,
    String credentialsString,
    String applicationName,    // アプリケーション名
    String packageType,        // WAR または JAR
    String clusterId,          // ターゲット ECS クラスター ID
    String targetObject,
    String ecuInfo             // ECS インスタンス ID
)

// 拡張形式
void insertApplication(
    String namespace,
    String credentialsString,
    String applicationName,
    String packageType,
    String clusterId,
    String targetObject,
    String ecuInfo,
    String versionLabelFormat,
    String versionDescriptionFormat,
    String buildPackId,        // ランタイムのビルドパック ID
    String healthCheckUrl      // ヘルスチェック URL
)

Kubernetes クラスターのメソッド

Kubernetes クラスターへのデプロイ (既存のアプリケーションの更新):

// コンパクト形式
void deployK8sApplication(
    String namespace,
    String credentialsString,
    String appId,
    String targetObject,
    Boolean image              // true: コンテナイメージをデプロイ、false: WAR/JAR をデプロイ
)

// 拡張形式
void deployK8sApplication(
    String namespace,
    String credentialsString,
    String appId,
    String targetObject,
    Boolean image,
    String edasContainerVersion,  // EDAS コンテナバージョン
    String webContainer,          // Web コンテナタイプ (例: Apache Tomcat)
    String jdk,                   // JDK バージョン
    String versionLabelFormat,
    String envs,                  // 環境変数 (JSON)
    String startupCommand,
    String args,                  // 起動引数
    String cpuLimit,              // CPU 制限 (コア)
    String memoryLimit,           // メモリ制限 (MiB)
    String cpuRequest,            // CPU リクエスト (コア)
    String memoryRequest,         // メモリリクエスト (MiB)
    String replicas,              // Pod レプリカ数
    String postStart,             // post-start フックコマンド
    String preStop,               // pre-stop フックコマンド
    String readiness,             // Readiness プローブ設定
    String liveness,              // Liveness プローブ設定
    String updateStrategy         // 更新ストラテジー (JSON)
)

Kubernetes クラスターへの作成とデプロイ (新しいアプリケーションの作成):

// コンパクト形式
void insertK8sApplication(
    String namespace,
    String credentialsString,
    String applicationName,
    String packageType,
    String clusterId,
    String targetObject,
    String k8sNamespace,       // Kubernetes 名前空間
    String jdk
)

// 拡張形式
void insertK8sApplication(
    String namespace,
    String credentialsString,
    String applicationName,
    String packageType,
    String clusterId,
    String targetObject,
    String k8sNamespace,
    String jdk,
    String descFormat,                // 説明フォーマット
    String edasContainerVersion,
    String webContainer,
    String versionLabelFormat,
    String envs,
    String startupCommand,
    String args,
    String cpuLimit,
    String memoryLimit,
    String cpuRequest,
    String memoryRequest,
    String replicas,
    String postStart,
    String preStop,
    String readiness,
    String liveness
)

次のステップ