Ejecutar en varias redes desde una interfaz

Usa runners para otras redes y capacidad con herramientas necesarias. Conserva resultados en Semaphore.

Un host no sirve para todo

Los trabajos requieren redes, herramientas y capacidad distintas. En el servidor comparten límites.

Dar a cada trabajo su entorno

Elige dónde ejecutar cada trabajo, prepara sus herramientas y añade capacidad independientemente del servidor Semaphore.

Alcanzar sistemas de destinoColocar runners cerca del inventario
Usar herramientas necesariasPreparar su entorno de ejecución
Añadir capacidad de ejecuciónEscalar runners con las cargas

Configurar runners y dirigir trabajos

Elegir cómo se ejecuta cada trabajo

El runner determina dónde se ejecuta el trabajo. Su ejecutor determina si usa el entorno del host o inicia un contenedor.

Local

Ejecuta directamente en el host usando sus herramientas instaladas.

Docker

En Pro ejecuta en contenedores y elige imagen por plantilla.

Kubernetes

En Enterprise ejecuta trabajos en pods Kubernetes con imagen y dependencias necesarias.

Preparar el entorno necesario para tus trabajos

Elegir el runner en la plantilla

Dirige el trabajo por etiqueta y elige imagen.

Plantillas de tareas

Mantener también el plano de control

Escala por separado ejecución y disponibilidad.

Alta disponibilidad

Adaptar ejecución a infraestructura

Colocar ejecución cerca del inventario

Ejecuta en la región o red de los destinos. El runner alcanza redes privadas, reduce distancia o aporta capacidad dedicada. Ubicación, etiquetas y ejecutor resuelven partes distintas.

Dejar que el runner inicie la conexión

Un runner se conecta al servidor Semaphore y lo consulta. El servidor no necesita iniciar una conexión entrante hacia él. Es útil detrás de NAT o en una subred privada, si el runner alcanza Semaphore y las fuentes y destinos necesarios.

Elegir alcance y enrutamiento

Los runners globales sirven a varios proyectos; los de proyecto pertenecen a uno. Las etiquetas conectan requisitos y capacidades o ubicaciones. Los valores predeterminados cubren tareas sin etiqueta requerida. Si no hay runner apropiado, la tarea puede esperar en lugar de ejecutarse en otro lugar.

Separar ubicación y aislamiento

La ejecución local usa el contexto y permisos del host runner. Docker y Kubernetes compatibles introducen límites de contenedor o pod con requisitos de configuración y edición propios. Montajes, red, privilegios e imágenes definen el límite real; runner no garantiza aislamiento.

Ampliar capacidad de ejecución independientemente

Los runners adicionales aportan capacidad o alcance sin ejecutar todo en el host web. Paralelismo y sondeo afectan al funcionamiento. Patrones avanzados de un solo uso pueden combinar registro, hooks de asignación y un runner que termina después del trabajo, pero necesitan automatizar ese ciclo de vida.

Ejecutar en una red desconectada

Usa licencia offline Enterprise en red cerrada. Proporciona Git, imágenes y dependencias dentro sin acceso público.

Elegir deliberadamente el entorno

La ejecución local usa los permisos del host. Usa Docker o Kubernetes si se requieren contenedores o pods propios con imágenes, montajes y red adecuados.

Mantener credenciales disponibles

Las tareas necesitan credenciales y configuración referenciadas. Entorno y archivos se resuelven en el servidor antes de usarse.

FAQ

¿Diferencia entre globales y de proyecto?

Los runners globales se registran para toda la instancia y los de proyecto para uno concreto. La ejecución distribuida global existe en todas las ofertas; el alcance de proyecto y enrutamiento están en Pro y Enterprise según precios. Elige según responsabilidad y accesos. La configuración del entorno sigue determinando qué alcanza el proceso.

¿El servidor necesita una conexión entrante al runner?

El runner inicia conexión y sondea trabajo. Funciona tras NAT sin entrada iniciada por servidor. Aún necesita Semaphore, repositorios, paquetes, servicios y destinos. Comprueba cada ruta: el sondeo saliente no elimina requisitos.

¿Cómo llega la tarea al runner con red y herramientas correctas?

Usa etiquetas y ajustes compatibles para elegir entorno. Da nombres con sentido y muestra disponibilidad y capacidad. Si falta runner, espera. Prueba algo inocuo y confirma en detalles antes de producción.

¿Un runner remoto aísla cada tarea?

No por sí solo. Un ejecutor local usa contexto y accesos del host. Docker o Kubernetes aportan otro límite, pero montajes, privilegios, red e imágenes importan. Decide ubicación y modo aparte. Prepara dependencias y revisa accesos en lugar de asumir seguridad completa.

¿Pueden usar diferentes versiones de herramientas?

Prepara el entorno de cada trabajo en su recorrido elegido. Las imágenes de ejecutor permiten fijar dependencias Ansible, Terraform, Python u otras sin cambiar todos los trabajos del host. Revisa versión y edición y prueba repositorio, paquetes y conexiones dentro del entorno real, no solo en una sesión administrativa.

¿Añadir runners hace HA a Semaphore?

Añadir runners amplía o desplaza la ejecución; no crea un plano de control de alta disponibilidad. La HA utiliza varios nodos coordinados con base compartida, Redis y balanceo documentados. Son capacidades complementarias que resuelven problemas diferentes. Decide si el cuello de botella es capacidad, alcance de red o acceso a interfaz y API antes de escalar.

¿Qué pasa sin runner con la etiqueta?

Espera un runner que cumpla requisitos. Revisa etiqueta, habilitación, conexión y capacidad. Una etiqueta selecciona: un runner distinto no lo toma automáticamente.

¿Puedo elegir una imagen Docker por Task Template?

Sí. La plantilla cambia la imagen con ejecutor Docker Pro o Kubernetes Enterprise. Prepara herramientas y dependencias en la imagen; el campo no cambia la ejecución local. Ver opciones de ejecución.