CLI
Il binario semaphore è al tempo stesso il server e uno strumento di amministrazione completo. Eseguirlo
senza argomenti (oppure semaphore help) per elencare tutti i comandi:
semaphore help
La maggior parte delle attività amministrative dispone di un gruppo di comandi dedicato:
| Gruppo di comandi | Scopo |
|---|---|
semaphore users | Aggiungere, modificare, rimuovere e ispezionare utenti; gestire token API e TOTP (2FA). |
semaphore projects | Esportare e importare progetti (backup). |
semaphore vaults | Ricifrare i segreti memorizzati e ispezionare l'uso delle chiavi di cifratura. |
semaphore runner | Eseguire in modalità runner e registrare/deregistrare i runner. |
semaphore migrate | Applicare o annullare le migrazioni del database. |
Diversi gruppi di comandi hanno alias più brevi: users/user, projects/project,
vaults/vault e server/service.
Ogni comando che accede al database (users, projects, vaults, migrate,
server) applica le migrazioni dello schema in sospeso prima di essere eseguito. Effettuare un
backup del database prima di eseguire la CLI di una versione più recente di Semaphore su un
database esistente.
Opzioni globali
Questi flag sono accettati da tutti i comandi:
| Opzione | Descrizione |
|---|---|
--config <path> | Percorso del file di configurazione. |
--no-config | Non leggere alcun file di configurazione: usare solo le variabili d'ambiente. |
--log-level <level> | Livello di dettaglio dei log: DEBUG, INFO, WARN, ERROR, FATAL o PANIC. In assenza, viene usata la variabile d'ambiente SEMAPHORE_LOG_LEVEL. |
--debug-filter <spec> | Restringe l'output DEBUG a namespace specifici, ad esempio 'runner,task_*' o '*,-db'. Ha effetto solo quando il livello di log è DEBUG. In assenza, viene usata SEMAPHORE_DEBUG_FILTER. |
Come viene individuato il file di configurazione
Quando --config viene omesso, Semaphore cerca il file in quest'ordine e usa
il primo che esiste:
- Il percorso nella variabile d'ambiente
SEMAPHORE_CONFIG_PATH. config.json,config.yamloconfig.ymlnella directory corrente./usr/local/etc/semaphore/config.json(oppure.yaml/.yml)./etc/semaphore/config.json(oppure.yaml/.yml).
Le variabili d'ambiente vengono applicate sopra il file, quindi sovrascrivono i valori
del file. Con --no-config vengono usati solo le variabili d'ambiente e i valori predefiniti. Consultare
Configurazione per l'elenco completo delle opzioni.
Versione
Stampa la versione corrente.
semaphore version
Configurazione interattiva
Da usare per la configurazione iniziale. Genera i segreti, guida attraverso un questionario interattivo, scrive il file di configurazione, esegue le migrazioni del database e crea il primo utente amministratore.
semaphore setup
Passare --config <path> per scegliere dove scrivere il file di configurazione.
In assenza, il setup chiede una directory di output (predefinita: la directory
corrente) e vi scrive config.json.
Se il nome utente o l'email inseriti esistono già, il setup mantiene l'utente esistente invece di crearne uno nuovo.
Al termine stampa i comandi per avviare il server, ad esempio:
./semaphore server --config /path/to/config.json
Modalità server
Avvia il server Semaphore (interfaccia web e API). service è un alias di server.
semaphore server --config /path/to/config.json
All'avvio il server applica le migrazioni del database in sospeso e stampa il database, il percorso temporaneo, l'interfaccia e la porta in uso.
Modalità runner
Esegue Semaphore come runner di task. Consultare Runner per
l'insieme completo dei sottocomandi (setup, register, start, unregister).
semaphore runner start --config /path/to/runner-config.json
Migrazione del database
Aggiorna lo schema del database. Consultare Migrazioni del database per applicare o annullare le migrazioni fino a una versione specifica.
semaphore migrate --config /path/to/config.json