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
Unduh file edas-jenkins-plugin.hpi.
Di Jenkins, buka Manage Jenkins > Manage Plugins.
Pada halaman Plugin Manager, pilih tab Advanced.
Pada bagian Upload Plugin, klik Select file, pilih file
.hpiyang telah diunduh, lalu klik Upload.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.
Di Jenkins, buka Manage Jenkins > Configure System.
Gulir ke bagian Deploy to EDAS dan konfigurasikan informasi akun. Klik Add, lalu klik Advanced untuk memasukkan informasi wilayah.
Parameter Deskripsi EDAS credentials name Nama deskriptif untuk set kredensial ini, misalnya prod-edasataustaging-edas.EDAS Access Key ID ID AccessKey dari Akun Alibaba Cloud Anda. Untuk informasi lebih lanjut, lihat Buat Pasangan Kunci Akses. EDAS Access Key Secret Rahasia AccessKey dari Akun Alibaba Cloud Anda. EDAS Region ID 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. Klik Add untuk menyimpan konfigurasi kredensial. Untuk menambahkan konfigurasi wilayah atau akun lainnya, klik Add lagi.
Klik Ping EDAS untuk memverifikasi konektivitas. Pesan
successmenandakan bahwa kredensial tersebut valid.
Menyebarkan dengan freestyle project
Gunakan freestyle project untuk penyebaran berbasis GUI tanpa skrip.
Pada halaman utama Jenkins, klik New Item.
Masukkan nama proyek, pilih Freestyle project, lalu klik OK.
Pada bagian Post-build Actions, klik Add post-build actions dan pilih Deploy to EDAS.
Pada bagian Deploy to EDAS, klik Add dan pilih mode penyebaran:
Mode penyebaran Kasus penggunaan EDAS ECS Application Perbarui aplikasi yang sudah ada di kluster ECS. Lihat parameter penyebaran ECS. Create EDAS ECS Application Buat dan sebarkan aplikasi baru di kluster ECS. Lihat parameter pembuatan ECS. EDAS K8s Application Perbarui aplikasi yang sudah ada di kluster Container Service for Kubernetes. Lihat parameter penyebaran K8s. Create EDAS K8s Application Buat dan sebarkan aplikasi baru di kluster Container Service for Kubernetes. Lihat parameter pembuatan K8s. 
Klik Save atau Apply.
Pada panel navigasi sisi kiri, klik Build Now untuk memicu penyebaran.

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

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
Pada halaman utama Jenkins, klik New Item.
Masukkan nama proyek, pilih Pipeline, lalu klik OK.
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.Dari daftar drop-down Sample Step, pilih edasClient: Deploy into EDAS.
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.
Konfigurasikan parameter penyebaran. Untuk detailnya, lihat Konfigurasi parameter penyebaran.
Klik Generate Pipeline Script dan salin skrip yang dihasilkan.

Tambahkan skrip ke pipeline
Kembali ke halaman konfigurasi pipeline. Di panel navigasi sisi kiri, klik Back, lalu klik Configure.
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.
Klik Save atau Apply.
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.
Pada halaman utama Jenkins, klik New Item.
Masukkan nama proyek, pilih Freestyle project, lalu klik OK.
Pada bagian Build, klik Add build step dan pilih Process Job DSLs.

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 ) } } }Klik Save atau Apply.
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
Konfigurasi parameter penyebaran — deskripsi parameter lengkap untuk keempat mode penyebaran