El Apidog Self-hosted Runner puede entenderse como un programa automatizado que puede alojarse en un servidor independiente. Puede ejecutar tareas dentro de Apidog, como pruebas automatizadas programadas, importaciones programadas de documentos de API y la devolución de resultados de respuestas mock.Preparación#
La máquina host (servidor o PC local) debe tener Docker instalado. La versión mínima requerida de Docker es 20.10.0; se recomienda la versión 20.10.13.
Inicio rápido#
Esta sección le guiará sobre cómo desplegar General Runner en su servidor.1. Desplegar General Runner#
Vaya a la página Apidog Home, seleccione el equipo deseado y, a continuación, haga clic en Resources a la derecha. Desde allí, haga clic en Deploy General Runner para comenzar.2. Obtener el comando de despliegue del Runner#
Al hacer clic en Deploy General Runner, copie el comando de despliegue para General Runner desde la ventana emergente. Puede personalizar el comando según sea necesario; admite sistema operativo de servidor personalizado, puertos expuestos, montaje del directorio de datos y más. A continuación se incluye una explicación detallada de estas configuraciones:Sistema operativo del servidor: especifica el sistema operativo para el contenedor Docker. Esto incluye Linux, macOS y Windows. Seleccionar el sistema operativo correcto es fundamental para garantizar que el contenedor Docker funcione correctamente.
Imagen de Docker: hay tres versiones disponibles: General, Slim y Custom. Si su "script personalizado" necesita llamar a programas externos, elija la imagen adecuada para la instalación según el entorno requerido:General: contiene todas las funciones del Runner y viene preinstalada con los siguientes entornos de lenguaje: Node.js 18, Java 21, Python 3 y PHP 8.
Slim: contiene todas las funciones del Runner, pero solo preinstala Node.js 18.
Custom: contiene todas las funciones del Runner y admite entornos de lenguaje personalizados para programas externos. Puede crear su propio Dockerfile para agregar o eliminar entornos según sea necesario.
Puerto expuesto: de forma predeterminada, los contenedores Docker no exponen puertos internos para acceso externo. Con el parámetro -p, puede asignar un puerto interno del contenedor a un puerto de la máquina host, lo que permite el acceso externo a los servicios proporcionados por el contenedor. Por ejemplo, -p 80:4524 asigna el puerto interno 4524 del contenedor al puerto 80 de la máquina host.
Montar directorio de datos: el parámetro -v le permite montar directorios de la máquina host en el contenedor, lo que permite que el contenedor acceda y manipule archivos en el host (por ejemplo, configuraciones de bases de datos o programas externos). Por ejemplo, -v "/opt/runner":/opt/runner monta el directorio /opt/runner del host en el directorio /opt/runner del contenedor.
El comando de despliegue contiene información de token y se mostrará solo una vez por motivos de seguridad de los datos. Se generará un nuevo comando cada vez que haga clic en Deploy General Runner.Guarde el comando localmente, ya que puede usarlo para futuras actualizaciones del Runner.
3. Desplegar el Runner en el servidor#
Pegue el comando de despliegue copiado en la terminal del servidor y la instalación del Runner comenzará automáticamente.Puede modificar las propiedades de despliegue del Runner mediante variables de entorno para adaptarlas mejor a sus escenarios de uso reales. Lea entorno de despliegue del runner para obtener más información. Una vez completada la instalación, la terminal imprimirá la información relevante. Si se produce un error, puede solucionarlo basándose en los detalles del error. Si aún no puede resolverlo, contáctenos y proporcione sus comentarios.4. Ver el estado del Runner en el servidor#
Puede ver el estado de ejecución del contenedor mediante el cliente Docker.También puede usar el comando docker ps en la terminal para ver el estado de ejecución del contenedor.5. Ver el General Runner desplegado en Apidog#
Después de confirmar que el contenedor del Runner en el servidor se ha desplegado y habilitado, vuelva a Apidog. Puede ver que el Runner se ha desplegado y conectado a Apidog en Team Resources → General Runner.Si General Runner se ha desplegado correctamente en el servidor, pero no se muestra en el cliente de Apidog, haga clic en el botón de actualización en el lado derecho de "General Runner" para actualizar la página y comprobarlo de nuevo.
Puede cambiar el nombre del Runner, agregar descripciones y eliminarlo para que los miembros de su equipo puedan usarlo mejor; también puede detener/reiniciar el Runner.El Runner suspendido ya no ejecutará las tareas programadas especificadas, ni podrá crear nuevas tareas relacionadas y especificar este Runner para ejecutarlas.Consulte la tabla siguiente para ver la explicación del estado del Runner:| Estado | Descripción |
|---|
| Iniciado | El Runner está habilitado normalmente en el contenedor del servidor, mantiene comunicación con Apidog y puede gestionar tareas relacionadas emitidas por Apidog. |
| Detenido | El Runner se detiene manualmente en Apidog, pero continúa ejecutándose normalmente en el contenedor del servidor y mantiene la comunicación. No procesará tareas emitidas por Apidog y las nuevas tareas no pueden especificar un Runner detenido para su ejecución. Puede habilitarlo manualmente en Apidog para restaurar el Runner al estado iniciado. |
| Sin conexión | El Runner está desconectado de Apidog y no puede procesar tareas. Esto puede deberse a que el contenedor del Runner se detuvo en el servidor o a problemas de comunicación entre el servidor y Apidog. Para restaurar el Runner, asegúrese de que el contenedor del Runner esté ejecutándose y de que no haya problemas de comunicación con Apidog, lo que permitirá que el Runner se restaure al estado iniciado. |
Puede desplegar varios General Runners dentro de un equipo. Al crear tareas que requieren Runners autohospedados, los miembros del equipo pueden elegir entre los Runners disponibles.Guardar archivos en Runner#
Al usar Runner para ejecutar tareas como peticiones a endpoints, escenarios de prueba y tareas programadas, es posible que se requieran determinados archivos locales para respaldar la ejecución de la tarea. Algunos ejemplos incluyen:Llamar a otros lenguajes de programación en scripts personalizados
Usar conexiones de bases de datos en preprocesadores/postprocesadores
Usar certificado SSL al enviar una petición
Para ello, guarde los archivos necesarios en el directorio especificado dentro del contenedor Docker. Cuando el Runner ejecute tareas relacionadas, leerá el contenido del archivo desde el directorio especificado según los requisitos de la tarea para garantizar que se complete correctamente.Consulte la siguiente tabla para colocar archivos con los formatos y el contenido adecuados en el directorio especificado para su uso:| Contenido de uso | Ruta del directorio especificado (o nombre de archivo) | Comando Docker de ejemplo |
|---|
| Otros lenguajes de programación | /app/external-programs/ | -v /Users/xxx/runner/packages/api-test/external-programs:/app/externalPrograms |
| Archivo de configuración de conexión a base de datos | /app/database/database-connections.json | -v /Users/xxx/runner/packages/api-test/database/database-connections.json:/app/database/database-connections.json |
| Archivo de lista de certificados SSL | /app/ssl/ssl-client-cert-list.json | -v /Users/xxx/runner/packages/api-test/ssl/ssl-client-cert-list.json:/app/ssl/ssl-client-cert-list.json |
Puede consultar esta página para ver cómo exportar el archivo de configuración desde el cliente de Apidog. Actualizar y redesplegar el Runner#
Actualizar el Runner#
Cuando se publique una nueva versión del Runner, aparecerá un icono de actualización en la interfaz de usuario del Runner de escritorio. Haga clic en el icono para instalar la versión más reciente proporcionada por Apidog.Al hacer clic en Upgrade, se le solicitará que detenga el contenedor del Runner que se está ejecutando actualmente. Tenga en cuenta que, una vez detenido el contenedor, las tareas programadas y cualquier tarea enviada a este Runner desde el cliente ya no se ejecutarán.Después de confirmar la actualización, Apidog detendrá automáticamente el contenedor actual del Runner y proporcionará un comando para desplegar la nueva versión. Siga los pasos de despliegue inicial para volver a desplegar el Runner. Una vez que el despliegue se complete correctamente, estará usando la versión más reciente. Nota: Las tareas programadas existentes en el cliente no se verán afectadas y no necesitan reasignarse.Redesplegar el Runner#
Si el Runner encuentra un problema y usted no puede encontrar una solución en la sección de preguntas y respuestas, o las instrucciones no le ayudan, considere redesplegar el Runner. Para hacerlo, vaya a la sección More Actions del Runner específico y haga clic en Redeploy.El proceso de redespliegue es el mismo que la actualización anterior. Nota: Redesplegar también detendrá el contenedor del Runner.Preguntas y respuestas#
Use el comando docker ps para localizar el Runner problemático.
Use los siguientes comandos para ver los registros:
Paso 1: Recopile información para diagnosticar el problema:
Busque patrones de error o detalles operativos
Abra las herramientas de desarrollador (Alt+7+8), envíe un escenario de prueba al Runner problemático y registre los detalles del endpoint
Revise los registros del Runner para buscar mensajes de error o pistas
Paso 2: Resuelva el problema:Si puede identificar el problema y no está causado por un error de Apidog, corríjalo usted mismo
Si no puede identificar la causa del problema, póngase en contacto con la comunidad de Apidog para obtener más ayuda
Paso 1: Verifique la finalización de la tarea:
Compruebe si hay un informe de prueba para la tarea programada disponible en el cliente de Apidog
Revise los registros del Runner para detectar cualquier problema
Paso 2: Compruebe la configuración de notificaciones:Asegúrese de que la configuración de notificaciones esté guardada dentro de la tarea programada
Compruebe nuevamente que las condiciones y los destinatarios estén configurados correctamente
Intente activar manualmente la tarea para confirmar si las notificaciones se envían correctamente
Hay dos causas posibles para este error:
El comando de despliegue se regeneró: si generó el comando, cerró la ventana emergente y luego hizo clic de nuevo, un nuevo token podría invalidar el anterior. Para solucionarlo:Cambie a otro equipo en la esquina superior izquierda y, a continuación, vuelva al equipo donde se necesita el despliegue del Runner
Regenere el comando de despliegue, cópielo y ejecútelo. Asegúrese de no hacer clic para regenerarlo de nuevo hasta que el proceso se complete.
Error de datos de ID con la variable teamId: este es un error conocido que se ha corregido en la versión más reciente. Si el problema persiste:Cambie a otro equipo en la esquina superior izquierda y, a continuación, vuelva al equipo donde se necesita el despliegue del Runner
Regenere el comando de despliegue, cópielo y ejecútelo. Asegúrese de no hacer clic para regenerarlo de nuevo hasta que el proceso se complete.