Cuando necesite enviar cambios de código a aplicaciones Spring Cloud, Dubbo o High-Speed Service Framework (HSF) que se ejecutan en clústeres de Elastic Compute Service (ECS), el toolkit-maven-plugin le permite compilar y desplegar directamente desde su proyecto Maven sin cambiar a la consola de Enterprise Distributed Application Service (EDAS).
Requisitos previos
Antes de empezar, asegúrese de contar con lo siguiente:
Una aplicación Spring Cloud, Dubbo o HSF desplegada en un clúster de ECS en EDAS
El ID de la aplicación y el ID de región de la aplicación destino (disponibles en la consola de EDAS)
Un par de AccessKey para un usuario de Resource Access Management (RAM) con permisos de Application Management
Esta guía abarca los despliegues en clústeres de ECS. Para actualizar una aplicación en un clúster de Kubernetes, consulte Use Alibaba Cloud Toolkit to release an application to all instances in a Kubernetes cluster at a time .
Paso 1: Agregar la dependencia del plugin
Agregue la dependencia toolkit-maven-plugin al archivo pom.xml en la raíz de su proyecto:
<build>
<plugins>
<plugin>
<groupId>com.alibaba.cloud</groupId>
<artifactId>toolkit-maven-plugin</artifactId>
<version>1.1.5</version>
</plugin>
</plugins>
</build>
Utilice la versión 1.1.5 . Es posible que las versiones posteriores no sean totalmente compatibles.
El toolkit-maven-plugin es una herramienta de código abierto que permite construir un framework completo para el ciclo de vida de la aplicación y desplegar un entorno para un proyecto. Para más detalles, consulte toolkit-maven-plugin overview.
Paso 2: Crear un archivo de configuración de despliegue
Cree un archivo llamado .edas_config.yaml en el directorio raíz del proyecto y defina sus parámetros de despliegue.
Resolución del archivo de configuración
|
Condición |
Comportamiento |
|
El archivo |
El plugin lo carga automáticamente como configuración predeterminada |
|
Se pasa el argumento |
El plugin utiliza el archivo especificado en lugar del predeterminado |
|
Existen tanto un archivo predeterminado como el argumento |
El archivo especificado tiene prioridad |
|
El proyecto es un submódulo de Maven |
Coloque el archivo de configuración en el directorio raíz del submódulo |
Para obtener detalles sobre la configuración de múltiples módulos, consulte Deploy multi-module projects.
Ejemplos de configuración
Actualizar todos los grupos de instancias
Para actualizar cada grupo de instancias de una aplicación, especifique únicamente la región y el ID de la aplicación:
env:
region_id: cn-beijing
app:
app_id: eb20****-e6ee-4f6d-a36f-5f6a5455****
Actualizar un grupo de instancias específico con una versión de paquete
Para dirigirse a un solo grupo de instancias y establecer la versión del paquete de despliegue:
env:
region_id: cn-beijing
app:
app_id: eb20dc8a-e6ee-4f6d-a36f-5f6a5455****
package_version: 1.2
group_id: 06923bb9-8c5f-4508-94d8-517b692f****
Reemplace los valores de marcador de posición con su ID de región, ID de aplicación, ID de grupo y versión de paquete reales.
Para consultar la lista completa de parámetros de despliegue, vea Configure the parameters related to application deployment.
Paso 3: Crear un archivo de AccessKey
Cree un archivo YAML en su computadora local para almacenar sus credenciales:
access_key_id: <your-access-key-id>
access_key_secret: <your-access-key-secret>
Sustituya los marcadores de posición con sus valores reales:
|
Marcador de posición |
Descripción |
Dónde encontrarlo |
|
|
AccessKey ID de un usuario de RAM |
Página AccessKey Pair en la consola de RAM |
|
|
AccessKey secret del mismo usuario de RAM |
Misma página que la anterior |
Utilice el par de AccessKey de un usuario de RAM con permisos de Application Management , no el del usuario raíz de la cuenta de Alibaba Cloud. El plugin usa el par de AccessKey solo para generar firmas de solicitud. Las credenciales no se transmiten para ningún otro propósito.
Paso 4: Compilar y desplegar
Desde la raíz del proyecto (o el directorio del submódulo para proyectos Maven multimódulo), ejecute:
mvn clean package toolkit:deploy -Daccess_key_file=<path-to-access-key-file>
Parámetros del comando
|
Parámetro |
Descripción |
|
|
Activa el despliegue mediante el plugin después de completar el empaquetado |
|
|
Ruta al archivo de AccessKey creado en el Paso 3 |
Para conocer otras formas de configurar las credenciales, consulte Account configurations and priorities.
Desplegar un paquete precompilado sin recompilar
Para omitir el paso de compilación y desplegar un archivo JAR o WAR existente, utilice el parámetro -Djar_path:
mvn toolkit:deploy -Daccess_key_file=<path-to-access-key-file> -Djar_path=target/demo.jar
La ruta puede ser absoluta o relativa a la raíz del proyecto.
El parámetro -Djar_path tiene prioridad sobre los parámetros env en el archivo de configuración. También puede establecer la ruta del archivo de AccessKey en la sección env del archivo de configuración. Para más detalles, consulte Configure the parameters related to application deployment.
Comprobar el despliegue
Una vez finalizado el comando de despliegue, revise los resultados:
Salida de la terminal
Revise la salida de Maven en su terminal:
-
El mensaje
BUILD SUCCESSen la salida confirma que el despliegue se completó.
Si la salida contiene
ERROR, revise el mensaje de error, corrija el problema y vuelva a desplegar.
Consola de EDAS
Inicie sesión en la consola de EDASconsola de EDAS y revise las páginas de change records y application details para confirmar que se aplicó la actualización. Para más detalles, consulte Check the result.
Compatibilidad con Apsara Stack
El plugin toolkit-maven-plugin está disponible en Apsara Stack Enterprise V3.8.0 y versiones posteriores. Antes de usar el plugin en Apsara Stack, configure un endpoint de EDAS. Para obtener detalles sobre la configuración del endpoint, consulte Configure the parameters related to application deployment. Para obtener el endpoint, póngase en contacto con el soporte técnico de EDAS.
Comentarios
Si tiene alguna pregunta al utilizar la herramienta para desplegar aplicaciones, únase al grupo de DingTalk (ID de grupo de DingTalk: 34556175) para contactar a expertos técnicos y recibir asesoría.