CLI
El binario semaphore es a la vez el servidor y una herramienta de administración completa. Ejecútelo
sin argumentos (o con semaphore help) para listar todos los comandos:
semaphore help
La mayoría de las tareas administrativas tienen un grupo de comandos dedicado:
| Grupo de comandos | Propósito |
|---|---|
semaphore users | Añadir, modificar, eliminar e inspeccionar usuarios; gestionar tokens de API y TOTP (2FA). |
semaphore projects | Exportar e importar proyectos (copias de seguridad). |
semaphore vaults | Volver a cifrar los secretos almacenados e inspeccionar el uso de las claves de cifrado. |
semaphore runner | Ejecutar en modo runner y registrar/desregistrar runners. |
semaphore migrate | Aplicar o revertir migraciones de la base de datos. |
Varios grupos de comandos tienen alias más cortos: users/user, projects/project,
vaults/vault y server/service.
Todo comando que accede a la base de datos (users, projects, vaults, migrate,
server) aplica las migraciones de esquema pendientes antes de ejecutarse. Haga una copia
de seguridad de la base de datos antes de ejecutar la CLI de una versión más reciente de
Semaphore contra una base de datos existente.
Opciones globales
Estas opciones son aceptadas por todos los comandos:
| Opción | Descripción |
|---|---|
--config <path> | Ruta al archivo de configuración. |
--no-config | No leer ningún archivo de configuración; usar únicamente variables de entorno. |
--log-level <level> | Nivel de detalle del registro: DEBUG, INFO, WARN, ERROR, FATAL o PANIC. Si no se indica, se usa la variable de entorno SEMAPHORE_LOG_LEVEL. |
--debug-filter <spec> | Restringe la salida DEBUG a espacios de nombres concretos, p. ej. 'runner,task_*' o '*,-db'. Solo tiene efecto cuando el nivel de registro es DEBUG. Si no se indica, se usa SEMAPHORE_DEBUG_FILTER. |
Cómo se localiza el archivo de configuración
Cuando se omite --config, Semaphore busca el archivo en este orden y usa
el primero que exista:
- La ruta indicada en la variable de entorno
SEMAPHORE_CONFIG_PATH. config.json,config.yamloconfig.ymlen el directorio actual./usr/local/etc/semaphore/config.json(o.yaml/.yml)./etc/semaphore/config.json(o.yaml/.yml).
Las variables de entorno se aplican sobre el archivo, por lo que sobrescriben los
valores del archivo. Con --no-config, solo se usan las variables de entorno y los valores predeterminados. Consulte
Configuración para ver la lista completa de opciones.
Versión
Muestra la versión actual.
semaphore version
Configuración interactiva
Use esta opción para la configuración inicial. Genera los secretos, recorre un cuestionario interactivo, escribe el archivo de configuración, ejecuta las migraciones de la base de datos y crea el primer usuario administrador.
semaphore setup
Pase --config <path> para elegir dónde se escribe el archivo de configuración.
Sin esta opción, el asistente pregunta por un directorio de salida (predeterminado: el
directorio actual) y escribe config.json allí.
Si el nombre de usuario o el correo electrónico que introduce ya existen, el asistente conserva el usuario existente en lugar de crear uno nuevo.
Al finalizar, muestra los comandos para iniciar el servidor, por ejemplo:
./semaphore server --config /path/to/config.json
Modo servidor
Inicia el servidor de Semaphore (interfaz web y API). service es un alias de server.
semaphore server --config /path/to/config.json
El servidor aplica las migraciones pendientes de la base de datos al arrancar y muestra la base de datos, la ruta temporal, la interfaz y el puerto que está usando.
Modo runner
Ejecuta Semaphore como runner de tareas. Consulte Runners para ver el
conjunto completo de subcomandos (setup, register, start, unregister).
semaphore runner start --config /path/to/runner-config.json
Migración de la base de datos
Actualiza el esquema de la base de datos. Consulte Migraciones de la base de datos para aplicar o revertir hasta una versión concreta.
semaphore migrate --config /path/to/config.json