Tüm Ürünler
Search
Belge Merkezi

Enterprise Distributed Application Service:Deploy applications to EDAS from Jenkins

Son Güncelleme:Oct 03, 2026

edas-jenkins-plugin, Enterprise Distributed Application Service (EDAS) ile Jenkins'i entegre eder ve CI/CD işlem hattınızdan doğrudan Elastic Compute Service (ECS) kümelerine ve Container Service for Kubernetes (ACK) kümelerine sürekli dağıtım yapmanızı sağlar.

Üç farklı dağıtım yaklaşımı mevcuttur:

  • Freestyle project -- komut dosyası yazmadan Jenkins grafik arayüzü üzerinden dağıtımı yapılandırın.

  • Pipeline script -- yerleşik Snippet Generator kullanarak bir dağıtım adımı oluşturun ve bunu bir Jenkins Pipeline içine ekleyin.

  • Job DSL -- yeniden kullanılabilir dağıtım şablonlarını programatik olarak tanımlayın.

Ön koşullar

Başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun:

  • Jenkins'e yüklenmiş olan Job DSL plug-in (yalnızca Job DSL dağıtımları için gereklidir)

  • EDAS etkinleştirilmiş bir Alibaba Cloud hesabı

  • Alibaba Cloud hesabınız için bir AccessKey pair

edas-jenkins-plugin yükleme

  1. edas-jenkins-plugin.hpi dosyasını indirin.

  2. Jenkins'te Manage Jenkins > Manage Plugins seçeneğine gidin.

  3. Plugin Manager sayfasında Advanced sekmesini seçin.

  4. Upload Plugin bölümünde Select file öğesine tıklayın, indirilen .hpi dosyasını seçin ve Upload öğesine tıklayın.

  5. Installing Plugins/Upgrades sayfasında kurulumun tamamlanmasını bekleyin.

EDAS kimlik bilgilerini yapılandırma

Eklentiyi yükledikten sonra Jenkins'in EDAS ile kimlik doğrulaması yapabilmesi için Alibaba Cloud kimlik bilgilerinizi ekleyin.

  1. Jenkins'te Manage Jenkins > Configure System seçeneğine gidin.

  2. Deploy to EDAS bölümüne kaydırın ve hesap bilgilerini yapılandırın. Add öğesine tıklayın, ardından bölge bilgilerini girmek için Advanced seçeneğine tıklayın.

    Parameter Description
    EDAS credentials name Bu kimlik bilgisi kümesi için açıklayıcı bir ad, örneğin prod-edas veya staging-edas.
    EDAS Access Key ID Alibaba Cloud hesabınızın AccessKey ID'si. Daha fazla bilgi için bkz. Create an AccessKey pair.
    EDAS Access Key Secret Alibaba Cloud hesabınızın AccessKey gizli anahtarı.
    EDAS Region Uygulamanızın dağıtıldığı bölge kimliği, örneğin cn-hangzhou.
    Endpoint (Yalnızca Apsara Stack) EDAS uç noktası. Bu değer için EDAS teknik desteği ile iletişime geçin. Alibaba Cloud için boş bırakın.
  3. Kimlik bilgisi yapılandırmasını kaydetmek için Add öğesine tıklayın. Daha fazla bölge veya hesap yapılandırması eklemek için tekrar Add öğesine tıklayın.

  4. Bağlantıyı doğrulamak için Ping EDAS öğesine tıklayın. success iletisi, kimlik bilgilerinin geçerli olduğunu onaylar.

    Deploy into EDAS configuration

Freestyle projesi ile dağıtım

Komut dosyası gerektirmeyen, grafik arayüz tabanlı dağıtımlar için freestyle projesi kullanın.

  1. Jenkins ana sayfasında New Item öğesine tıklayın.

  2. Bir proje adı girin, Freestyle project seçeneğini belirleyin ve OK öğesine tıklayın.

  3. Post-build Actions bölümünde Add post-build actions öğesine tıklayın ve Deploy to EDAS seçeneğini belirleyin.

  4. Deploy to EDAS bölümünde Add öğesine tıklayın ve bir dağıtım modu seçin:

    Deployment mode Use case
    EDAS ECS Application Bir ECS kümesindeki mevcut bir uygulamayı güncelleyin. Bkz. ECS deployment parameters.
    Create EDAS ECS Application Bir ECS kümesinde yeni bir uygulama oluşturun ve dağıtın. Bkz. ECS creation parameters.
    EDAS K8s Application Bir Container Service for Kubernetes kümesindeki mevcut bir uygulamayı güncelleyin. Bkz. K8s deployment parameters.
    Create EDAS K8s Application Bir Container Service for Kubernetes kümesinde yeni bir uygulama oluşturun ve dağıtın. Bkz. K8s creation parameters.

    Add a deployment mode

  5. Save veya Apply öğesine tıklayın.

  6. Sol gezinme bölmesinde dağıtmayı tetiklemek için Build Now öğesine tıklayın.

    Build a project

Derleme sonucunu doğrulama

Derleme tamamlandıktan sonra Build History bölümünde yeni bir giriş görünür. Dağıtım durumunu ve günlüklerini görüntülemek için bir derleme numarasına tıklayın.

Project build details

Pipeline betiği ile dağıtım

Dağıtımı kod olarak tanımlamak için Jenkins Pipeline kullanın. Eklenti, sizin için dağıtım adımını üreten yerleşik Snippet Generator'ı destekler.

Pipeline betiğini oluşturma

  1. Jenkins ana sayfasında New Item öğesine tıklayın.

  2. Bir proje adı girin, Pipeline seçeneğini belirleyin ve OK öğesine tıklayın.

  3. Pipeline bölümünde Snippet Generator'ı açmak için Pipeline Syntax öğesine tıklayın.

    Not

    Mevcut bir işlem hattı için proje listesinde işlem hattının adına tıklayın, ardından sol gezinme bölmesinde

    Pipeline Syntax

    öğesine tıklayın.

  4. Sample Step açılır listesinden edasClient: Deploy into EDAS seçeneğini belirleyin.

  5. Application Setup yanındaki Add öğesine tıklayın ve küme türünüze (ECS veya K8s) ve bir uygulamayı güncelleyip güncellemediğinize bağlı olarak bir dağıtım modu seçin.

  6. Dağıtım parametrelerini yapılandırın. Ayrıntılar için bkz. Configure deployment parameters.

  7. Generate Pipeline Script öğesine tıklayın ve oluşturulan betiği kopyalayın.

    Generate Pipeline Script

Betiği pipeline'a ekleme

  1. Pipeline yapılandırma sayfasına dönün. Sol gezinme bölmesinde Back öğesine tıklayın, ardından Configure öğesine tıklayın.

  2. Pipeline bölümünde oluşturulan betiği betik düzenleyicisine yapıştırın. Dağıtım adımı yer tutucusunu önceki adımda oluşturulan betikle değiştirin.

    Not

    Aşağıdaki şekilde vurgulanan alandaki içeriği önceki adımda oluşturulan betikle değiştirin.

    Pipeline script configuration

  3. Save veya Apply öğesine tıklayın.

  4. Sol gezinme bölmesinde işlem hattını tetiklemek için Build Now öğesine tıklayın.

Derleme tamamlandıktan sonra dağıtım sonuçları için Build History bölümünü kontrol edin.

Job DSL ile dağıtım

Dağıtım işlerini kod şablonları olarak tanımlamak için Job DSL kullanın. Bu yaklaşım, birçok benzer dağıtım işini yönettiğinizde ve bunları programatik olarak oluşturmak istediğinizde kullanışlıdır.

  1. Jenkins ana sayfasında New Item öğesine tıklayın.

  2. Bir proje adı girin, Freestyle project seçeneğini belirleyin ve OK öğesine tıklayın.

  3. Build bölümünde Add build step öğesine tıklayın ve Process Job DSLs seçeneğini belirleyin.

    Process Job DSLs

  4. Use the provided DSL script seçeneğini belirleyin ve Job DSL betiğini DSL Script alanına girin. Aşağıdaki örnek bir dağıtım işi oluşturur:

       job('edas') {                              // The name of the job to build
           publishers {                           // The type of the EDAS plug-in
               edasClient {                       // The client that calls the EDAS plug-in
                   deployApplication(
                       '',                        // namespace
                       '',                        // credentialsString
                       '',                        // group
                       '',                        // appId
                       ''                         // targetObject
                   )
               }
           }
       }
  5. Save veya Apply öğesine tıklayın.

  6. Sol gezinme bölmesinde dağıtım işini oluşturmak için Build Now öğesine tıklayın.

Derleme tamamlandıktan sonra oluşturulan iş Jenkins ana sayfasında görünür. Uygulamanızı dağıtmak için oluşturulan işi çalıştırın.

Job DSL API referansı

Eklenti, Job DSL için aşağıdaki yöntemleri sunar. Her yöntemin yalnızca gerekli parametreleri içeren kısa bir formu ve tüm parametreleri içeren genişletilmiş bir formu vardır.

ECS küme yöntemleri

Bir ECS kümesine dağıtım (mevcut bir uygulamayı güncelleme):

// Compact form
void deployApplication(
    String namespace,          // EDAS namespace ID
    String credentialsString,  // Credential name
    String group,              // Deployment group
    String appId,              // EDAS application ID
    String targetObject        // Path to deployment artifact (WAR/JAR)
)

// Extended form
void deployApplication(
    String namespace,
    String credentialsString,
    String group,
    String appId,
    String targetObject,
    String versionLabelFormat,          // Version label pattern
    String versionDescriptionFormat,    // Version description pattern
    String batch,                       // Number of deployment batches
    String batchWaitTime,               // Wait time between batches (seconds)
    String releaseType                  // Release type
)

Bir ECS kümesine oluşturma ve dağıtım (yeni bir uygulama oluşturma):

// Compact form
void insertApplication(
    String namespace,
    String credentialsString,
    String applicationName,    // Application name
    String packageType,        // WAR or JAR
    String clusterId,          // Target ECS cluster ID
    String targetObject,
    String ecuInfo             // ECS instance IDs
)

// Extended form
void insertApplication(
    String namespace,
    String credentialsString,
    String applicationName,
    String packageType,
    String clusterId,
    String targetObject,
    String ecuInfo,
    String versionLabelFormat,
    String versionDescriptionFormat,
    String buildPackId,        // Build pack ID for the runtime
    String healthCheckUrl      // Health check URL
)

Kubernetes küme yöntemleri

Bir Kubernetes kümesine dağıtım (mevcut bir uygulamayı güncelleme):

// Compact form
void deployK8sApplication(
    String namespace,
    String credentialsString,
    String appId,
    String targetObject,
    Boolean image              // true: deploy a container image; false: deploy a WAR/JAR
)

// Extended form
void deployK8sApplication(
    String namespace,
    String credentialsString,
    String appId,
    String targetObject,
    Boolean image,
    String edasContainerVersion,  // EDAS container version
    String webContainer,          // Web container type (e.g., Apache Tomcat)
    String jdk,                   // JDK version
    String versionLabelFormat,
    String envs,                  // Environment variables (JSON)
    String startupCommand,
    String args,                  // Startup arguments
    String cpuLimit,              // CPU limit (cores)
    String memoryLimit,           // Memory limit (MiB)
    String cpuRequest,            // CPU request (cores)
    String memoryRequest,         // Memory request (MiB)
    String replicas,              // Number of pod replicas
    String postStart,             // Post-start hook command
    String preStop,               // Pre-stop hook command
    String readiness,             // Readiness probe configuration
    String liveness,              // Liveness probe configuration
    String updateStrategy         // Update strategy (JSON)
)

Bir Kubernetes kümesine oluşturma ve dağıtım (yeni bir uygulama oluşturma):

// Compact form
void insertK8sApplication(
    String namespace,
    String credentialsString,
    String applicationName,
    String packageType,
    String clusterId,
    String targetObject,
    String k8sNamespace,       // Kubernetes namespace
    String jdk
)

// Extended form
void insertK8sApplication(
    String namespace,
    String credentialsString,
    String applicationName,
    String packageType,
    String clusterId,
    String targetObject,
    String k8sNamespace,
    String jdk,
    String descFormat,                // Description format
    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
)

Sırada ne var