Todos os produtos
Search
Central de documentação

Enterprise Distributed Application Service:Implantar um aplicativo em um cluster ECS usando o Alibaba Cloud CLI

Última atualização: Jun 26, 2026

Para automatizar implantações de aplicativos no Enterprise Distributed Application Service (EDAS) — por exemplo, a partir de um pipeline de CI/CD ou script de provisionamento — use o Alibaba Cloud CLI. Essa ferramenta permite criar namespaces, clusters e aplicativos, além de implantar pacotes WAR ou JAR diretamente do terminal.

O EDAS oferece suporte a aplicativos Spring Cloud, Dubbo e High-speed Service Framework (HSF) por meio de seus SDKs e API.

Visão geral do fluxo de trabalho

A implantação de um aplicativo em um cluster Elastic Compute Service (ECS) envolve as seguintes operações principais de API:

Etapa

API

Finalidade

1

InsertOrUpdateRegion

Criar um namespace de microsserviços como limite de isolamento lógico para seus serviços

2

InsertCluster

Criar um cluster ECS como grupo de recursos para hospedar seus aplicativos

3

TransformClusterMember

Importar uma instância ECS existente para o cluster

4

InsertApplication

Registrar o aplicativo no EDAS

5

DeployApplication

Carregar um pacote WAR ou JAR no Object Storage Service (OSS) e acionar a implantação

As seções a seguir detalham cada etapa.

Pré-requisitos

Antes de começar, verifique se você tem:

  • Uma instância ECS em execução. Para mais informações, consulte Criar uma instância ECS

  • O Alibaba Cloud CLI instalado para seu sistema operacional:

  • O ossutil instalado para carregar pacotes de implantação no OSS

Configurar o Alibaba Cloud CLI

Execute aliyun configure para definir seu par de AccessKey, a região padrão e o formato de saída.

Nota

Crie ou visualize seu par de AccessKey na página

Security Management

do console User Management. Caso não tenha credenciais, entre em contato com o 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

Descrição

<your-access-key-id>

Seu AccessKey ID

<your-access-key-secret>

Seu AccessKey secret

Após concluir a configuração, a CLI exibe a mensagem Configure Done!!!.

Criar um aplicativo em um cluster ECS

Os passos abaixo cobrem as quatro primeiras chamadas de API da visão geral do fluxo de trabalho: criação de namespace, criação de cluster, importação de instância ECS e registro de aplicativo.

Antes de executar os comandos, substitua as variáveis de marcador pelos valores reais:

Variável

Descrição

Exemplo

REGION

Região onde o aplicativo será implantado

cn-beijing

ECS_ID

ID da instância ECS a importar

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

VPC_ID

ID da Virtual Private Cloud (VPC) à qual a instância ECS pertence

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

NAMESPACE

Nome do namespace de microsserviços (criado automaticamente se não existir)

myNamespace

CLUSTER_NAME

Nome do cluster ECS (criado automaticamente se não existir)

myCluster

APP_NAME

Nome do aplicativo

myApp

Definir as variáveis

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

Etapa 1: Criar um namespace de microsserviços

Crie o namespace com a tag <region>:<namespace>:

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

Etapa 2: Criar um cluster ECS

Crie um cluster ECS no modo VPC (ClusterType 2, NetworkMode 2) e capture o ID do cluster:

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"

Etapa 3: Importar a instância ECS

Importe a instância ECS para o cluster. O script consulta ListClusterMembers por até 300 segundos até que a instância retorne seu 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

O processo de importação pode levar vários minutos. O loop verifica uma vez por segundo durante até 5 minutos.

Etapa 4: Criar o aplicativo

Registre o aplicativo com BuildPackId 51 e a ECU obtida na Etapa 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"

Salve o valor de APP_ID para usar na etapa de implantação.

Implantar o aplicativo

Após criar o aplicativo, implante um pacote WAR ou JAR. Os passos a seguir carregam o pacote em um bucket do OSS, enviam uma solicitação de implantação assíncrona e monitoram o status até a conclusão.

Variáveis

Substitua as variáveis abaixo pelos valores reais:

Variável

Descrição

Exemplo

APP_ID

ID do aplicativo obtido na seção anterior ou no console EDAS

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

GROUP_ID

ID do grupo de aplicativos

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

OSS_BUCKET

Bucket do OSS com leitura pública para o pacote de implantação

eda*****mo

PACKAGE

Caminho local para o arquivo WAR ou 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

Etapa 1: Carregar o pacote de implantação no 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"

Etapa 2: Acionar a implantação

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"

Etapa 3: Aguardar a conclusão da implantação

O script consulta GetChangeOrderInfo por até 300 segundos. Um valor PipelineStatus igual a 2 indica sucesso:

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"

Localizar APP_ID e GROUP_ID no console

Caso não tenha esses valores da etapa de criação, obtenha-os no console EDAS:

  1. Faça login no console EDASconsole EDAS.

  2. No painel de navegação à esquerda, escolha Application Management > Applications e clique no nome do seu aplicativo.

  3. No canto superior direito da aba Basic Information, clique em Deploy.

  4. Na página Select Deployment Mode, clique em Start Deployment ao lado de Regular Release (Single-batch/Multi-batch).

  5. Clique em Generate Maven Plug-in Configuration para visualizar os valores dos parâmetros.

Generate Maven Plug-in Configuration

Verificar a implantação

Após o término do script de implantação, confirme se o aplicativo está em execução:

  1. Faça login no console EDASconsole EDAS.

  2. No painel de navegação à esquerda, escolha Application Management > Applications.

  3. Clique no nome do aplicativo implantado e selecione a aba Instance Information ao lado de Basic Information.

A implantação é considerada bem-sucedida quando o status da instância exibe Normal.

Nota

Se a implantação falhar, consulte

Códigos de erro que podem ser retornados em um processo de alteração

para solução de problemas.

Veja também

Comunidade de ferramentas de desenvolvimento do EDAS

Se tiver dúvidas ou sugestões sobre o uso de ferramentas de desenvolvimento no EDAS, participe do grupo DingTalk pesquisando pelo ID 34556175 no DingTalk.