Indice dei contenuti


Caratteristiche

Scrivi registri di attività e task su un file (PRO)

Semaphore Pro ora supporta la scrittura dei registri di attività e task su un file. Per abilitare questa funzione, aggiungi la seguente configurazione al tuo config.json:

{
  "log": {
    "events": {
      "enabled": true,
      "logger": {
        "filename": "./events.log"
      }
    },
    "task": {
      "enabled": true,
      "logger": {
        "filename": "./tasks.log"
      }
    }
  }
}

Oppure puoi farlo utilizzando le seguenti variabili d’ambiente:

export SEMAPHORE_EVENT_LOG_ENABLED=True
export SEMAPHORE_EVENT_LOG_PATH=./tasks.log
export SEMAPHORE_TASK_LOG_ENABLED=True
export SEMAPHORE_TASK_LOG_PATH=./tasks.log

Ogni riga nel file segue questo formato:

2024-01-03 12:00:34 user=234234 object=template action=delete ...

La registrazione su file supporta anche la rotazione. Maggiori dettagli sono disponibili nella documentazione.

Pagina dei token API

Visualizza registri di task grezzi

Ora puoi aprire il registro grezzo di un task facendo clic sul pulsante RAW LOG nell’angolo in basso a destra della finestra del registro del task.

Pulisci la cache del progetto e del runner

Semaphore ora ti offre maggiore controllo sulla gestione della cache.

In precedenza, la cache non utilizzata veniva automaticamente pulita quando rimuovevi template o progetti. Tuttavia, in alcuni casi, la cache residua poteva rimanere e essere memorizzata indefinitamente.

Con la nuova funzione Pulisci Cache, puoi pulire manualmente:

Questo aiuta a liberare spazio su disco, migliorare le prestazioni e mantenere il tuo ambiente ordinato.

Sovrascrivi il branch nei template e nei task

Ora puoi sovrascrivere il branch predefinito del repository sorgente nelle impostazioni del template.

In alternativa, abilita l’opzione Richiedi il branch all’esecuzione per scegliere il branch ogni volta che esegui un task.

Nuova variabile d’ambiente per la configurazione del provider OIDC

Abbiamo introdotto una nuova variabile d’ambiente: SEMAPHORE_OIDC_PROVIDERS per configurare i provider OpenID Connect (OIDC).

Questo è particolarmente utile quando si esegue Semaphore all’interno di un contenitore Docker.

La variabile deve contenere JSON valido nel seguente formato:

SEMAPHORE_OIDC_PROVIDERS='{
  "github": {
    "client_id": "***",
    "client_secret": "***"
    // campi aggiuntivi...
  }
}'

Nuova struttura della directory temporanea

Abbiamo migliorato la struttura della directory temporanea introducendo directory per progetto. Ora, ogni progetto ha la propria cartella dedicata sotto la directory tmp_path.

Questa modifica rende più facile gestire e pulire la cache quando un progetto viene rimosso.

Inoltre, la directory di inventario per i template ora segue un chiaro formato di denominazione, come: tmp_path/project_0/repository_1_template_2_inventory_3 Questa struttura aiuta a evitare di clonare il repository di inventario ad ogni esecuzione del task, migliorando le prestazioni e riducendo la ridondanza.

Possibilità di aggiungere manualmente utenti esterni (LDAP e OIDC)

Ora puoi aggiungere utenti LDAP e OIDC a Semaphore prima che accedano per la prima volta.

Questo ti consente di configurare i loro permessi e assegnarli ai progetti in anticipo.

Hai bisogno di diritti di amministratore per aggiungere un utente tramite l’interfaccia web (casella di controllo Esterno), oppure puoi utilizzare la CLI con il flag --external:

semaphore user add \
  --external \
  --login john \
  --name John \
  --email [email protected] \
  --password=changeme

Valori predefiniti per le variabili del sondaggio

Ora puoi impostare valori predefiniti per le variabili del sondaggio, facilitando la compilazione automatica degli input comuni durante l’esecuzione dei task.

Supporto TLS per le connessioni del server SMTP

Semaphore ora supporta connessioni sicure TLS quando invia email tramite un server SMTP. Esempio di configurazione:

{
  "email_alert": true,
  "email_sender": "[email protected]",
  "email_host": "smtp.example.com",
  "email_username": "user123",
  "email_password": "changeme",
  "email_tls": true,
  "email_port": "587",
  "email_tls_min_version": "1.1" // opzionale (predefinito 1.2)
}

Livelli di verbosità configurabili per i playbook Ansible

Ora puoi selezionare il livello di verbosità desiderato quando esegui task di playbook Ansible, aiutando nel debug e nella risoluzione dei problemi.

Supporto Chroot e esecuzione dei task come utente diverso

Semaphore può ora eseguire task all’interno di un ambiente chroot e sotto un utente specificato, migliorando la sicurezza e l’isolamento. Esempio di configurazione:

{
  "process": {
    "chroot": "/opt/semaphore/chroot",
    "user": "semrun"
  }
}

Esempio di variabili d’ambiente:

SEMAPHORE_PROCESS_CHROOT=/opt/semaphore/chroot
SEMAPHORE_PROCESS_USER=semrun

Supporto per l’autenticazione dei webhook di Bitbucket

Le integrazioni possono ora essere configurate utilizzando l’autenticazione dei webhook di Bitbucket.

Impostazioni del fuso orario per i programmi

Semaphore non utilizza più il fuso orario di sistema. Invece, ora puoi impostare esplicitamente un fuso orario per i programmi utilizzando la seguente opzione di configurazione:

{
  "schedule": {
    "timezone": "Asia/Calcutta"
  }
}

Oppure utilizzando la seguente variabile d’ambiente:

SEMAPHORE_SCHEDULE_TIMEZONE=Asia/Calcutta

Correzioni di bug