Todos los productos
Search
Centro de documentos

Enterprise Distributed Application Service:Deploy an application to an ECS cluster by using Alibaba Cloud CLI

Última actualización: Sep 03, 2026

Si necesita automatizar los despliegues de aplicaciones en Enterprise Distributed Application Service (EDAS), por ejemplo, desde un pipeline de CI/CD o un script de aprovisionamiento, Alibaba Cloud CLI le permite crear namespaces, clústeres y aplicaciones. Posteriormente, podrá desplegar paquetes WAR o JAR sin salir de la terminal.

EDAS admite aplicaciones de Spring Cloud, Dubbo y High-speed Service Framework (HSF) a través de sus SDK y API.

Descripción general del flujo de trabajo

El despliegue de una aplicación en un clúster de Elastic Compute Service (ECS) implica las siguientes operaciones principales de la API:

Paso

API

Propósito

1

InsertOrUpdateRegion

Crear un namespace de microservices, que funciona como límite de aislamiento lógico para sus servicios

2

InsertCluster

Crear un clúster de ECS, es decir, un resource group que aloja sus aplicaciones

3

TransformClusterMember

Importar una instancia de ECS existente al clúster

4

InsertApplication

Registrar la aplicación en EDAS

5

DeployApplication

Cargar un paquete WAR o JAR en Object Storage Service (OSS) e iniciar el despliegue

En las siguientes secciones se detalla cada paso.

Requisitos previos

Antes de empezar, asegúrese de contar con lo siguiente:

  • Una instancia de ECS en ejecución. Para obtener más información, consulte Create an ECS instance

  • Alibaba Cloud CLI instalada para su sistema operativo:

  • ossutil instalado para cargar paquetes de despliegue en OSS

Configuración de Alibaba Cloud CLI

Ejecute aliyun configure para establecer su par de AccessKey, la región predeterminada y el formato de salida.

Nota

Cree o consulte su par de AccessKey en la

Security Management

del panel de User Management. Si no dispone de uno, póngase en contacto con su administrador.

aliyun configure
Configuring profile 'default' ...
Aliyun Access Key ID [None]: <your-access-key-id>
Aliyun Access Key Secret [None]: <your-access-key-secret>
Default Region Id [None]: cn-hangzhou
Default output format [json]: json
Default Language [zh]: zh

Marcador

Descripción

<your-access-key-id>

Su AccessKey ID

<your-access-key-secret>

Su AccessKey secret

Una vez finalizada la configuración, la CLI muestra el mensaje Configure Done!!!.

Creación de una aplicación en un clúster de ECS

Los siguientes pasos abarcan las primeras cuatro llamadas a la API descritas en la descripción general del flujo de trabajo: creación de un namespace, creación de un clúster, importación de una instancia de ECS y registro de una aplicación.

Antes de ejecutar los comandos, reemplace las variables de marcador con sus valores reales:

Variable

Descripción

Ejemplo

REGION

Región donde se despliega la aplicación

cn-beijing

ECS_ID

ID de la instancia de ECS que se va a importar

i-2z************b6

VPC_ID

ID de la Virtual Private Cloud (VPC) a la que pertenece la instancia de ECS

vpc-t**********c

NAMESPACE

Nombre del namespace de microservices (se crea automáticamente si no existe)

myNamespace

CLUSTER_NAME

Nombre del clúster de ECS (se crea automáticamente si no existe)

myCluster

APP_NAME

Nombre de la aplicación

myApp

Establecimiento de las variables

REGION="cn-beijing"
ECS_ID="i-2z************b6"
VPC_ID="vpc-t**********c"
NAMESPACE="myNamespace"
CLUSTER_NAME="myCluster"
APP_NAME="myApp"

Paso 1: Crear un namespace de microservices

Cree el namespace con la etiqueta <region>:<namespace>:

aliyun edas InsertOrUpdateRegion \
  --RegionTag "$REGION:$NAMESPACE" \
  --RegionName "$NAMESPACE" \
  --region "$REGION" \
  --endpoint "edas.cn-beijing.aliyuncs.com" >> /dev/null

Paso 2: Crear un clúster de ECS

Cree un clúster de ECS en modo VPC (ClusterType 2, NetworkMode 2) y capture el ID del clúster:

CLUSTER_ID=$(aliyun edas InsertCluster \
  --ClusterName "$CLUSTER_NAME" \
  --ClusterType 2 \
  --NetworkMode 2 \
  --VpcId "$VPC_ID" \
  --logicalRegionId "$REGION:$NAMESPACE" \
  --region "$REGION" \
  --endpoint "edas.cn-beijing.aliyuncs.com" \
  | sed -E 's/.*"ClusterId":"([a-z0-9-]*)".*/\1/g')

echo "Cluster ID: $CLUSTER_ID"

Paso 3: Importar la instancia de ECS

Importe la instancia de ECS al clúster. El script consulta ListClusterMembers durante un máximo de 300 segundos hasta que la instancia reporta su ECU ID:

aliyun edas TransformClusterMember \
  --InstanceIds "$ECS_ID" \
  --TargetClusterId "$CLUSTER_ID" \
  --Password Hello1234 >> /dev/null

for i in $(seq 300); do
  OUT=$(aliyun edas ListClusterMembers --ClusterId "$CLUSTER_ID" | grep EcuId) && break
  sleep 1
done
ECU_ID=$(echo "$OUT" | sed -E 's/.*"EcuId":"([a-z0-9-]*)".*/\1/g')

echo "ECU ID: $ECU_ID"
Nota

El proceso de importación puede tardar varios minutos. El bucle realiza una comprobación por segundo durante un máximo de 5 minutos.

Paso 4: Crear la aplicación

Registre la aplicación con BuildPackId 51 y la ECU obtenida en el paso 3:

APP_ID=$(aliyun edas InsertApplication \
  --ApplicationName "$APP_NAME" \
  --BuildPackId 51 \
  --EcuInfo "$ECU_ID" \
  --ClusterId "$CLUSTER_ID" \
  --logicalRegionId "$REGION:$NAMESPACE" \
  | sed -E 's/.*"AppId":"([a-z0-9-]*)".*/\1/g')

echo "Application created. App ID: $APP_ID"

Guarde el valor de APP_ID para utilizarlo en el paso de despliegue.

Despliegue de la aplicación

Una vez creada la aplicación, despliegue un paquete WAR o JAR. Los siguientes pasos cargan el paquete en un bucket de OSS, envían una solicitud de despliegue asíncrona y consultan el estado hasta que este finaliza.

Variables

Reemplace las siguientes variables con sus valores reales:

Variable

Descripción

Ejemplo

APP_ID

ID de la aplicación obtenido en la sección anterior o desde la consola de EDAS

87a6*********************4d1

GROUP_ID

ID del grupo de la aplicación

54b*********************f27

OSS_BUCKET

Bucket de OSS con lectura pública para el paquete de despliegue

eda*****mo

PACKAGE

Ruta local al archivo WAR o JAR

hello-edas.war

APP_ID="87a6*********************4d1"
GROUP_ID="54b*********************f27"
OSS_BUCKET="eda*****mo"
PACKAGE="hello-edas.war"
VERSION=$(date +%s)    # Timestamp-based version

Paso 1: Cargar el paquete de despliegue en OSS

ossutil cp -f "$PACKAGE" "oss://$OSS_BUCKET/$PACKAGE" >> /dev/null
PKG_URL=$(ossutil sign "oss://$OSS_BUCKET/$PACKAGE" | head -1)

echo "Package URL: $PKG_URL"

Paso 2: Iniciar el despliegue

CO_ID=$(aliyun edas DeployApplication \
  --AppId "$APP_ID" \
  --PackageVersion "$VERSION" \
  --DeployType url \
  --WarUrl "$PKG_URL" \
  --GroupId "$GROUP_ID" \
  | grep '.*"ChangeOrderId":' \
  | sed -E 's/.*"ChangeOrderId":\s"([a-z0-9-]*)".*/\1/g')

echo "Change order ID: $CO_ID"

Paso 3: Esperar a que finalice el despliegue

El script consulta GetChangeOrderInfo durante un máximo de 300 segundos. Un valor de PipelineStatus igual a 2 indica que la operación fue exitosa:

for i in $(seq 300); do
  STATUS=$(aliyun edas GetChangeOrderInfo --ChangeOrderId "$CO_ID" \
    | grep '.*"PipelineStatus":' \
    | sed -E 's/.*"PipelineStatus":\s(.).*/\1/g')
  [[ 2 = ${STATUS} ]] && break
  sleep 1
done

echo "Deployment complete. Change order ID: $CO_ID"

Búsqueda de APP_ID y GROUP_ID en la consola

Si no obtuvo estos valores durante el paso de creación, recupérelos desde la consola de EDAS:

  1. Inicie sesión en la EDAS consoleEDAS console.

  2. En el panel de navegación izquierdo, seleccione Application Management > Applications y haga clic en el nombre de su aplicación.

  3. En la esquina superior derecha de la pestaña Basic Information, haga clic en Deploy.

  4. En la página Select Deployment Mode, haga clic en Start Deployment junto a Regular Release (Single-batch/Multi-batch).

  5. Haga clic en Generate Maven Plug-in Configuration para consultar los valores de los parámetros.

Generate Maven Plug-in Configuration

Verificación del despliegue

Cuando finalice el script de despliegue, confirme que la aplicación se está ejecutando correctamente:

  1. Inicie sesión en la EDAS consoleEDAS console.

  2. En el panel de navegación izquierdo, seleccione Application Management > Applications.

  3. Haga clic en el nombre de la aplicación desplegada y luego en la pestaña Instance Information, situada junto a Basic Information.

El despliegue se considera exitoso cuando el estado de la instancia muestra Normal.

Nota

Si el despliegue falla, consulte

Error codes that may be returned in a change process

para solucionar problemas.

Véase también

Comunidad de herramientas de desarrollo de EDAS

Si tiene preguntas o sugerencias sobre el uso de herramientas de desarrollo en EDAS, únase al grupo de DingTalk buscando el ID 34556175 en dicha plataforma.