Runner di progetto (Pro)
I runner di progetto sono una potente funzionalità di Semaphore Pro che consente l'esecuzione distribuita dei task su più server. Questa funzionalità permette di eseguire i task su server separati dall'istanza di Semaphore UI, offrendo maggiore sicurezza, scalabilità e gestione delle risorse.

Panoramica
I runner di progetto funzionano secondo un principio simile ai runner di GitLab o GitHub Actions:
- Un runner viene installato su un server separato da Semaphore UI
- Il runner si connette all'istanza di Semaphore utilizzando un token sicuro
- Quando vengono creati dei task, Semaphore li delega ai runner disponibili
- I runner eseguono i task e riportano i risultati a Semaphore
Vantaggi
L'utilizzo dei runner offre diversi vantaggi chiave:
-
Maggiore sicurezza
- I runner possono essere installati in ambienti isolati o in reti con accesso limitato
- Le operazioni sensibili possono essere eseguite in ambienti controllati
- Migliore separazione delle responsabilità tra interfaccia e ambienti di esecuzione
-
Scalabilità migliorata
- Distribuzione del carico di lavoro su più server
- Aggiunta o rimozione di runner in base alla domanda
- Migliore utilizzo delle risorse nell'infrastruttura
-
Distribuzione flessibile
- Installazione dei runner vicino all'infrastruttura di destinazione
- Esecuzione dei task in zone di rete diverse
- Supporto per vari modelli di distribuzione (on-premises, cloud, ibrido)
Utilizzo dei runner di progetto
Prerequisiti
Per utilizzare i runner sono necessari:
- Una licenza Semaphore Pro
- Un server separato su cui eseguire il runner
- Connettività di rete tra il runner e Semaphore UI
- Una configurazione corretta sia sul server di Semaphore UI sia su quello del runner
Gestione dei runner
È possibile gestire i runner tramite Semaphore UI:
- Accedere alla sezione Runner del progetto
- Visualizzare tutti i runner registrati e il loro stato
- Aggiungere o rimuovere runner secondo necessità
- Monitorare lo stato di salute e le prestazioni dei runner
Considerazioni sulla sicurezza
- Utilizzare sempre HTTPS per la comunicazione tra i runner e Semaphore UI
- Implementare un'adeguata sicurezza di rete tra i runner e Semaphore UI
- Valutare l'utilizzo di ambienti isolati per le operazioni sensibili
Best practice
-
Pianificazione delle risorse
- Dimensionare i runner in modo adeguato al carico di lavoro
- Monitorare l'utilizzo delle risorse dei runner
- Scalare i runner in base alla domanda
-
Configurazione di rete
- Garantire una connettività di rete adeguata
- Configurare i firewall in modo appropriato
- Utilizzare canali di comunicazione sicuri
-
Manutenzione
- Aggiornare regolarmente il software dei runner
- Monitorare lo stato di salute dei runner
- Implementare logging e monitoraggio adeguati
- Prevedere una strategia di backup in caso di guasto dei runner
-
Sicurezza
- Seguire il principio del privilegio minimo
- Implementare controlli di accesso adeguati
- Eseguire audit di sicurezza periodici
- Mantenere il software aggiornato