All Products
Search
Document Center

Enterprise Distributed Application Service:Menyebarkan aplikasi ke EDAS dari Jenkins

Last Updated:Mar 12, 2026

Plugin edas-jenkins-plugin mengintegrasikan Enterprise Distributed Application Service (EDAS) dengan Jenkins, memungkinkan penyebaran berkelanjutan ke kluster Elastic Compute Service (ECS) dan kluster Container Service for Kubernetes (ACK) langsung dari pipeline CI/CD Anda.

Tersedia tiga pendekatan penyebaran:

  • Freestyle project — konfigurasikan penyebaran melalui antarmuka GUI Jenkins tanpa skrip.

  • Pipeline script — hasilkan langkah penyebaran dengan Snippet Generator bawaan dan sisipkan ke dalam Pipeline Jenkins.

  • Job DSL — definisikan templat penyebaran yang dapat digunakan ulang secara terprogram.

Prasyarat

Sebelum memulai, pastikan Anda telah:

  • Menginstal plug-in Job DSL di Jenkins (hanya diperlukan untuk penyebaran Job DSL)

  • Memiliki Akun Alibaba Cloud dengan EDAS yang telah diaktifkan

  • Memiliki Pasangan Kunci Akses untuk Akun Alibaba Cloud Anda

Instal plugin edas-jenkins-plugin

  1. Unduh file edas-jenkins-plugin.hpi.

  2. Di Jenkins, buka Manage Jenkins > Manage Plugins.

  3. Pada halaman Plugin Manager, pilih tab Advanced.

  4. Pada bagian Upload Plugin, klik Select file, pilih file .hpi yang telah diunduh, lalu klik Upload.

  5. Tunggu hingga proses instalasi selesai pada halaman Installing Plugins/Upgrades.

Konfigurasi kredensial EDAS

Setelah menginstal plug-in, tambahkan kredensial Alibaba Cloud Anda agar Jenkins dapat melakukan autentikasi dengan EDAS.

  1. Di Jenkins, buka Manage Jenkins > Configure System.

  2. Gulir ke bagian Deploy to EDAS dan konfigurasikan informasi akun. Klik Add, lalu klik Advanced untuk memasukkan informasi wilayah.

    ParameterDeskripsi
    EDAS credentials nameNama deskriptif untuk set kredensial ini, misalnya prod-edas atau staging-edas.
    EDAS Access Key IDID AccessKey dari Akun Alibaba Cloud Anda. Untuk informasi lebih lanjut, lihat Buat Pasangan Kunci Akses.
    EDAS Access Key SecretRahasia AccessKey dari Akun Alibaba Cloud Anda.
    EDAS RegionID wilayah tempat aplikasi Anda disebarkan, seperti cn-hangzhou.
    Endpoint(Hanya untuk Apsara Stack) Titik akhir EDAS. Hubungi dukungan teknis EDAS untuk nilai ini. Biarkan kosong jika menggunakan Alibaba Cloud.
  3. Klik Add untuk menyimpan konfigurasi kredensial. Untuk menambahkan konfigurasi wilayah atau akun lainnya, klik Add lagi.

  4. Klik Ping EDAS untuk memverifikasi konektivitas. Pesan success menandakan bahwa kredensial tersebut valid.

    Deploy into EDAS configuration

Menyebarkan dengan freestyle project

Gunakan freestyle project untuk penyebaran berbasis GUI tanpa skrip.

  1. Pada halaman utama Jenkins, klik New Item.

  2. Masukkan nama proyek, pilih Freestyle project, lalu klik OK.

  3. Pada bagian Post-build Actions, klik Add post-build actions dan pilih Deploy to EDAS.

  4. Pada bagian Deploy to EDAS, klik Add dan pilih mode penyebaran:

    Mode penyebaranKasus penggunaan
    EDAS ECS ApplicationPerbarui aplikasi yang sudah ada di kluster ECS. Lihat parameter penyebaran ECS.
    Create EDAS ECS ApplicationBuat dan sebarkan aplikasi baru di kluster ECS. Lihat parameter pembuatan ECS.
    EDAS K8s ApplicationPerbarui aplikasi yang sudah ada di kluster Container Service for Kubernetes. Lihat parameter penyebaran K8s.
    Create EDAS K8s ApplicationBuat dan sebarkan aplikasi baru di kluster Container Service for Kubernetes. Lihat parameter pembuatan K8s.

    Add a deployment mode

  5. Klik Save atau Apply.

  6. Pada panel navigasi sisi kiri, klik Build Now untuk memicu penyebaran.

    Build a project

Verifikasi hasil build

Setelah build selesai, entri baru muncul di bagian Build History. Klik nomor build untuk melihat status penyebaran dan log.

Project build details

Menerapkan dengan skrip pipeline

Gunakan Pipeline Jenkins untuk mendefinisikan penyebaran sebagai kode. Plug-in ini mendukung Snippet Generator bawaan yang menghasilkan langkah penyebaran untuk Anda.

Hasilkan pipeline script

  1. Pada halaman utama Jenkins, klik New Item.

  2. Masukkan nama proyek, pilih Pipeline, lalu klik OK.

  3. Pada bagian Pipeline, klik Pipeline Syntax untuk membuka Snippet Generator.

    Catatan Untuk pipeline yang sudah ada, klik nama pipeline di daftar proyek, lalu klik Pipeline Syntax di panel navigasi sisi kiri.
  4. Dari daftar drop-down Sample Step, pilih edasClient: Deploy into EDAS.

  5. Klik Add di samping Application Setup dan pilih mode penyebaran berdasarkan jenis kluster Anda (ECS atau K8s) serta apakah Anda memperbarui atau membuat aplikasi baru.

  6. Konfigurasikan parameter penyebaran. Untuk detailnya, lihat Konfigurasi parameter penyebaran.

  7. Klik Generate Pipeline Script dan salin skrip yang dihasilkan.

    Generate Pipeline Script

Tambahkan skrip ke pipeline

  1. Kembali ke halaman konfigurasi pipeline. Di panel navigasi sisi kiri, klik Back, lalu klik Configure.

  2. Pada bagian Pipeline, tempel skrip yang dihasilkan ke editor skrip. Ganti placeholder langkah penyebaran dengan skrip yang dihasilkan pada langkah sebelumnya.

    Catatan Pada gambar berikut, ganti konten di area yang disorot dengan skrip yang dihasilkan pada langkah sebelumnya.

    Pipeline script configuration

  3. Klik Save atau Apply.

  4. Di panel navigasi sisi kiri, klik Build Now untuk memicu pipeline.

Setelah build selesai, periksa bagian Build History untuk melihat hasil penyebaran.

Menyebarkan dengan Job DSL

Gunakan Job DSL untuk mendefinisikan tugas penyebaran sebagai templat kode. Pendekatan ini berguna ketika Anda mengelola banyak tugas penyebaran serupa dan ingin menghasilkannya secara terprogram.

  1. Pada halaman utama Jenkins, klik New Item.

  2. Masukkan nama proyek, pilih Freestyle project, lalu klik OK.

  3. Pada bagian Build, klik Add build step dan pilih Process Job DSLs.

    Process Job DSLs

  4. Pilih Use the provided DSL script dan masukkan skrip Job DSL ke dalam bidang DSL Script. Contoh berikut membuat tugas penyebaran:

       job('edas') {                              // Nama tugas yang akan dibuat
           publishers {                           // Jenis plug-in EDAS
               edasClient {                       // Klien yang memanggil plug-in EDAS
                   deployApplication(
                       '',                        // namespace
                       '',                        // credentialsString
                       '',                        // group
                       '',                        // appId
                       ''                         // targetObject
                   )
               }
           }
       }
  5. Klik Save atau Apply.

  6. Di panel navigasi sisi kiri, klik Build Now untuk menghasilkan tugas penyebaran.

Setelah build selesai, tugas yang dihasilkan muncul di halaman utama Jenkins. Jalankan tugas yang dihasilkan tersebut untuk menyebarkan aplikasi Anda.

Referensi API Job DSL

Plug-in ini menyediakan metode berikut untuk Job DSL. Setiap metode memiliki bentuk ringkas (hanya parameter yang diperlukan) dan bentuk lengkap (semua parameter).

Metode kluster ECS

Menyebarkan ke kluster ECS (memperbarui aplikasi yang sudah ada):

// Bentuk ringkas
void deployApplication(
    String namespace,          // ID namespace EDAS
    String credentialsString,  // Nama kredensial
    String group,              // Grup penyebaran
    String appId,              // ID aplikasi EDAS
    String targetObject        // Path ke artefak penyebaran (WAR/JAR)
)

// Bentuk lengkap
void deployApplication(
    String namespace,
    String credentialsString,
    String group,
    String appId,
    String targetObject,
    String versionLabelFormat,          // Pola label versi
    String versionDescriptionFormat,    // Pola deskripsi versi
    String batch,                       // Jumlah batch penyebaran
    String batchWaitTime,               // Waktu tunggu antar batch (detik)
    String releaseType                  // Jenis rilis
)

Buat dan sebarkan ke kluster ECS (buat aplikasi baru):

// Bentuk ringkas
void insertApplication(
    String namespace,
    String credentialsString,
    String applicationName,    // Nama aplikasi
    String packageType,        // WAR atau JAR
    String clusterId,          // ID kluster ECS tujuan
    String targetObject,
    String ecuInfo             // ID instans ECS
)

// Bentuk lengkap
void insertApplication(
    String namespace,
    String credentialsString,
    String applicationName,
    String packageType,
    String clusterId,
    String targetObject,
    String ecuInfo,
    String versionLabelFormat,
    String versionDescriptionFormat,
    String buildPackId,        // ID build pack untuk waktu proses
    String healthCheckUrl      // URL pemeriksaan kesehatan
)

Metode kluster Kubernetes

Menyebarkan ke kluster Kubernetes (memperbarui aplikasi yang sudah ada):

// Bentuk ringkas
void deployK8sApplication(
    String namespace,
    String credentialsString,
    String appId,
    String targetObject,
    Boolean image              // true: sebarkan gambar kontainer; false: sebarkan WAR/JAR
)

// Bentuk lengkap
void deployK8sApplication(
    String namespace,
    String credentialsString,
    String appId,
    String targetObject,
    Boolean image,
    String edasContainerVersion,  // Versi kontainer EDAS
    String webContainer,          // Jenis kontainer web (misalnya, Apache Tomcat)
    String jdk,                   // Versi JDK
    String versionLabelFormat,
    String envs,                  // Variabel lingkungan (JSON)
    String startupCommand,
    String args,                  // Argumen startup
    String cpuLimit,              // Batas CPU (core)
    String memoryLimit,           // Batas memori (MiB)
    String cpuRequest,            // Permintaan CPU (core)
    String memoryRequest,         // Permintaan memori (MiB)
    String replicas,              // Jumlah replika pod
    String postStart,             // Perintah panggilan balik pasca-start
    String preStop,               // Perintah panggilan balik pra-stop
    String readiness,             // Konfigurasi probe kesiapan
    String liveness,              // Konfigurasi probe kelangsungan hidup
    String updateStrategy         // Strategi pembaruan (JSON)
)

Buat dan sebarkan ke kluster Kubernetes (buat aplikasi baru):

// Bentuk ringkas
void insertK8sApplication(
    String namespace,
    String credentialsString,
    String applicationName,
    String packageType,
    String clusterId,
    String targetObject,
    String k8sNamespace,       // Namespace Kubernetes
    String jdk
)

// Bentuk lengkap
void insertK8sApplication(
    String namespace,
    String credentialsString,
    String applicationName,
    String packageType,
    String clusterId,
    String targetObject,
    String k8sNamespace,
    String jdk,
    String descFormat,                // Format deskripsi
    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
)

Langkah selanjutnya