Overview
En esta guía, aprenderá cómo implementar su agente en producción desde la interfaz de línea de comandos (CLI). Antes de la implementación, asegúrese de compilar la imagen del agente.
Sintaxis y opciones de comandos
Utilice los siguientes comandos para gestionar su implementación:
Iniciar una implementación
Utilice la siguiente sintaxis para implementar la compilación de su agente:
agentengine deploy [--auto] [--build-id <id>] [--version <version>] [--workspace-id <id>] [--project-id <id>] [--org-id <id>] [--base-url <url>] [--context <name>] [--no-wait] [--timeout <duration>] [--workspace <name>] [--all] [--json] [--yes]
Este comando inicia el despliegue de tu última compilación exitosa o de una compilación específica si proporcionas un ID de compilación. El comando consulta el estado del despliegue cada 5 segundos hasta que el despliegue tenga un estado succeeded, failed o rolled_back, o hasta que se alcance el valor de tiempo de espera.
Importante
Acceso al sistema de archivos
Tras desplegar el agente, asegúrese de escribir archivos locales únicamente en los directorios /tmp o /scratch. No utilice otras rutas, como /var o directorios de inicio, ya que podrían no tener permisos de escritura en el entorno de ejecución.
Banderas de comando
Al desplegar su compilación, puede utilizar las siguientes opciones:
Flag | Descripción |
|---|---|
| Compila el agente y supervisa el despliegue que se activa durante la compilación. Esta opción solo se aplica a proyectos de un solo agente. Úsela para compilar y desplegar en un solo paso, en lugar de ejecutar los dos comandos por separado. |
| El ID de compilación que se va a implementar. Por defecto, el comando implementa la última compilación exitosa del espacio de trabajo. Este indicador es mutuamente excluyente con |
| Despliega la compilación de lanzamiento para esta versión |
| El ID del espacio de trabajo de la plataforma. Por defecto, la CLI lee este valor del archivo |
| El ID del proyecto de la plataforma. Por defecto, la CLI lee este valor del archivo |
| El ID de la organización. Por defecto, la interfaz de línea de comandos lee este valor del estado de autenticación almacenado localmente. |
| La URL base de la API de la plataforma. |
| El contexto local con nombre del archivo |
| Indica a la interfaz de línea de comandos que regrese inmediatamente después de iniciar la implementación sin consultar el estado. |
| El tiempo máximo de espera para que finalice el despliegue. Por defecto, el despliegue caduca después de 30 minutos. |
| (Solo para Monorepo) Despliega un espacio de trabajo específico por nombre, tal como se define en la raíz |
| (Solo para Monorepo) Despliega todos los espacios de trabajo secuencialmente. Esta opción es mutuamente excluyente con |
| Genera el resultado del despliegue en formato JSON. |
| Acepta la configuración predeterminada de Flex facturada y los cambios en la lista de acceso IP de Atlas cuando el comando de implementación ejecuta la configuración de Atlas. |
Lista de implementaciones
Para ver el historial de despliegue de su espacio de trabajo, ejecute el siguiente comando:
agentengine deploy list [--workspace <name>] [--workspace-id <id>] [--project-id <id>] [--org-id <id>] [--base-url <url>] [--context <name>] [--status <status>] [--limit <n>] [--offset <n>] [--json]
Este comando muestra todas las implementaciones del espacio de trabajo actual, incluyendo el ID de implementación, el estado, el ejecutor, el ID de compilación, la imagen, la hora de creación, la versión y el mensaje de error.
Banderas de comando
Flag | Descripción |
|---|---|
| (Solo Monorepo) Selecciona un espacio de trabajo específico por nombre, tal como se define en la raíz |
| El ID del espacio de trabajo de la plataforma. Por defecto, la CLI lee este valor del archivo |
| El ID del proyecto de la plataforma. Por defecto, la CLI lee este valor del archivo |
| El ID de la organización. Por defecto, la interfaz de línea de comandos lee este valor del estado de autenticación almacenado localmente. |
| La URL base de la API de la plataforma. |
| El contexto local con nombre del archivo |
| Filtra los resultados por estado de despliegue, por ejemplo |
| El número máximo de despliegues a devolver. |
| Número de despliegues a omitir. |
| Genera la lista de despliegue en formato JSON. |
Verificar el estado de la implementación
Para ver el estado detallado de una implementación, ejecute el siguiente comando:
agentengine deploy get [<deployment_id>] [-f] [--workspace <name>] [--workspace-id <id>] [--project-id <id>] [--org-id <id>] [--base-url <url>] [--context <name>] [--json]
Por defecto, este comando devuelve una instantánea del despliegue más reciente en un momento dado. Proporcione un ID de despliegue para comprobar uno específico. La salida incluye el estado del despliegue, el ID de compilación, la versión, la imagen, las condiciones, la disponibilidad de los componentes y la información de estado en tiempo real.
Banderas de comando
Flag | Descripción |
|---|---|
| Transmita los eventos de despliegue en tiempo real mediante Server-Sent Events (SSE) hasta que el despliegue alcance un estado terminal. Si el despliegue ya se encuentra en un estado terminal, el comando indicará que no hay nada que transmitir. |
| (Solo para Monorepo) Selecciona un espacio de trabajo específico por su nombre. |
| El ID del espacio de trabajo de la plataforma. Por defecto, la CLI lee este valor del archivo |
| El ID del proyecto de la plataforma. Por defecto, la CLI lee este valor del archivo |
| El ID de la organización. Por defecto, la interfaz de línea de comandos lee este valor del estado de autenticación almacenado localmente. |
| La URL base de la API de la plataforma. |
| El contexto local con nombre del archivo |
| Muestra el estado de la implementación en formato JSON. |
Ver registro de eventos de implementación
Para ver el registro de eventos estructurado de una implementación, ejecute el siguiente comando:
agentengine deploy logs [<deployment_id>] [-f] [--severity <level>] [--category <category>] [--limit <n>] [--workspace <name>] [--workspace-id <id>] [--project-id <id>] [--org-id <id>] [--base-url <url>] [--context <name>] [--json]
Este comando recupera el registro de eventos de la implementación especificada, mostrando cada transición de estado desde su creación hasta su finalización. Si no proporciona un ID de implementación, el comando muestra el registro de eventos de la implementación más reciente. Puede usar el registro de eventos para rastrear el comportamiento de la implementación, investigar fallas y verificar que se hayan producido las transiciones del ciclo de vida esperadas.
Cuando una implementación no se realiza correctamente, el evento del componente que falla incluye tanto un código de salida como una breve explicación del motivo del fallo.
Nota
La bandera --json no se puede combinar con las banderas --follow, --severity o --category.
Banderas de comando
Flag | Descripción |
|---|---|
| Realiza sondeos para detectar nuevos eventos hasta que el despliegue alcance un estado terminal. |
| Filtra los eventos por nivel de gravedad: |
| Filtra los eventos por categoría, por ejemplo |
| El número máximo de eventos que se devolverán por página. El valor predeterminado es 100. |
| (Solo para Monorepo) Selecciona un espacio de trabajo específico por su nombre. |
| El ID del espacio de trabajo de la plataforma. Por defecto, la CLI lee este valor del archivo |
| El ID del proyecto de la plataforma. Por defecto, la CLI lee este valor del archivo |
| El ID de la organización. Por defecto, la interfaz de línea de comandos lee este valor del estado de autenticación almacenado localmente. |
| La URL base de la API de la plataforma. |
| El contexto local con nombre del archivo |
| Genera el registro de eventos en formato JSON. |
Cancelar una implementación
Para cancelar una implementación en curso, utilice el siguiente comando:
agentengine deploy cancel <deployment_id> [--workspace <name>] [--workspace-id <id>] [--project-id <id>] [--org-id <id>] [--base-url <url>] [--context <name>]
Este comando devuelve un error si el despliegue ya se encuentra en un estado succeeded, failed o rolled_back.
Banderas de comando
Flag | Descripción |
|---|---|
| (Solo para Monorepo) Selecciona un espacio de trabajo específico por nombre, tal como se define en el archivo raíz |
| El ID del espacio de trabajo de la plataforma. Por defecto, la CLI lee este valor del archivo |
| El ID del proyecto de la plataforma. Por defecto, la CLI lee este valor del archivo |
| El ID de la organización. Por defecto, la interfaz de línea de comandos lee este valor del estado de autenticación almacenado localmente. |
| La URL base de la API de la plataforma. |
| El contexto local con nombre del archivo |
Límites de construcción
La plataforma impone los siguientes límites de compilación para cada proyecto:
Limit | Valor |
|---|---|
Compilaciones activas simultáneas | 10 |
Construcciones diarias durante un período continuo de 24 horas | 100 |
Si superas un límite de compilación, la solicitud devuelve un error 400 Bad Request con un mensaje RESOURCE_LIMIT_EXCEEDED.
Para consultar todas las limitaciones que se aplican durante la versión preliminar pública, consulte Limitaciones del motor del agente de MongoDB Atlas.
Ejemplo
El siguiente ejemplo muestra cómo desplegar la última compilación exitosa, verificar el estado de dicho despliegue y, posteriormente, cancelarlo.
Inicia una implementación.
Ejecute el siguiente comando para desplegar la última compilación exitosa y regresar inmediatamente sin consultar el estado:
agentengine deploy --no-wait
Si el despliegue se inicia correctamente, el resultado será similar al siguiente:
Deploying last successful build... ✓ Deployment started (deployment_id: deploy-9fb9e685)
Verifique el estado del despliegue.
Ejecute el siguiente comando para comprobar el estado de la implementación utilizando el ID de implementación del paso anterior:
agentengine deploy get deploy-9fb9e685
La salida es similar a la siguiente:
Deployment: deploy-9fb9e685 Status: in_progress (started 45s ago) Trigger: build Build: bld_01... Version: v0.1.0 (r1) Conditions: Available False NotAvailable — One or more components are not available. Components: Orchestration Engine 0/1 not ready Agent Sandbox 1/1 ready Tool Sandbox 1/1 ready Health: unavailable
Próximos pasos
Tras implementar el agente, puede supervisar su rendimiento y actividad. Para obtener información sobre cómo supervisar el agente, consulte la guía de monitorización.
Para obtener información sobre los requisitos mínimos para ejecutar un agente en Atlas Agent Engine, consulte la sección Contrato de agente de la documentación de MongoDB Atlas Agent Engine.