Amministratori e sviluppatori di Code Stream possono integrare Code Stream con il ciclo di vita di revisione del codice Gerrit utilizzando il trigger Gerrit. L'evento attiva una pipeline da eseguire quando si crea un set di patch, si pubblicano bozze, si uniscono modifiche al codice nel progetto Gerrit o si inseriscono direttamente le modifiche nel ramo Git.

Quando si aggiunge il trigger Gerrit, si seleziona un listener Gerrit, un progetto Gerrit nel server Gerrit e si configurano gli eventi Gerrit. Nella definizione del listener Gerrit, selezionare un endpoint Gerrit. Se è necessario aggiornare l'endpoint Gerrit dopo aver connesso il listener, è innanzitutto necessario disconnettere il listener, quindi aggiornare l'endpoint.

In questo esempio, si configura innanzitutto un listener Gerrit e quindi si utilizza tale listener in un trigger Gerrit con due eventi in tre pipeline diverse.

Prerequisiti

Procedura

  1. In Code Stream, fare clic su Trigger > Gerrit.
  2. (Facoltativo) Fare clic sulla scheda Listener, quindi su Nuovo listener .
    Nota: Se il listener Gerrit che si intende utilizzare per il trigger Gerrit è già definito, ignorare questo passaggio.
    1. Selezionare un progetto.
    2. Immettere un nome per il listener Gerrit.
    3. Selezionare un endpoint Gerrit
    4. Immettere il token dell'API.
      Il token dell'API CSP autentica l'utente per le connessioni API esterne con Code Stream. Per ottenere il token API:
      1. Fare clic su Genera Token.
      2. Immettere l'indirizzo e-mail associato al nome utente e alla password, quindi fare clic su Genera.
        Il token generato è valido per sei mesi. È anche noto come token di aggiornamento.
        • Per mantenere il token come una variabile per un utilizzo futuro, fare clic su Crea variabile, assegnare un nome alla variabile e fare clic su Salva.
        • Per mantenere il token come valore di testo per un utilizzo futuro, fare clic su Copia e incollare il token in un file di testo da salvare in locale.
        È possibile scegliere di creare una variabile e archiviare il token in un file di testo per un utilizzo futuro.
      3. Fare clic su Chiudi.
      Se è stata creata una variabile, nel token dell'API viene visualizzato il nome della variabile immesso utilizzando il binding del dollaro. Se il token è stato copiato, il token dell'API mostra il token mascherato.

      Per le istanze locali, il listener del trigger Gerrit utilizza un endpoint Gerrit e un token API, che è possibile generare dalla scheda Listener facendo clic su Genera token.

    5. Per convalidare i dettagli del token e dell'endpoint, fare clic su Convalida.
      Il token scade dopo 90 giorni.
    6. Fare clic su Crea.
    7. Nella scheda del listener, fare clic su Connetti.
      Il listener avvia il monitoraggio di tutte le attività nel server Gerrit e ascolta tutti i trigger attivati in tale server. Per interrompere l'ascolto di un trigger in tale server, disattivare il trigger.
      Nota: Per aggiornare un endpoint Gerrit connesso a un listener, è necessario disconnettere il listener prima di aggiornare l'endpoint.
      • Fare clic su Configura > Trigger > Gerrit.
      • Fare clic sulla scheda Listener.
      • Fare clic su Disconnetti nel listener connesso all'endpoint che si desidera aggiornare.
  3. Fare clic sulla scheda Trigger e quindi su Nuovo trigger.
  4. Selezionare un progetto nel server Gerrit.
  5. Immettere un nome.
    Il nome del trigger Gerrit deve essere univoco.
  6. Selezionare un listener Gerrit configurato.
    Utilizzando il listener Gerrit, Code Stream fornisce un elenco dei progetti Gerrit disponibili nel server.
  7. Selezionare un progetto nel server Gerrit.
  8. Immettere nel repository il ramo che verrà monitorato dal listener Gerrit.
  9. (Facoltativo) Specificare inclusioni o esclusioni di file come condizioni per il trigger.
    • Specificare le inclusioni di file che attivano la pipeline. Quando uno qualsiasi dei file in un commit corrisponde ai file specificati nel regex o nei percorsi di inclusione, le pipeline vengono attivate. Con un regex specificato, Code Stream attiva solo le pipeline i cui nomi file nell'insieme di modifiche corrispondono all'espressione specificata. Il filtro regex è utile quando si configura un trigger per più pipeline in un singolo repository.
    • È possibile specificare esclusioni di file che impediscano l'attivazione delle pipeline. Quando tutti file in un commit corrispondono ai file specificati nel regex o nei percorsi di esclusione, le pipeline non vengono attivate.
    • Quando è attivata, l'opzione Assegna priorità all'esclusione fa in modo che le pipeline non vengano attivate. Le pipeline non vengono attivate anche se uno qualsiasi dei file in un commit corrisponde ai file specificati nel regex o nei percorsi di esclusione. L'opzione Assegna priorità all'esclusione è disattivata per impostazione predefinita.
    Se le condizioni soddisfano sia l'inclusione dei file sia l'esclusione dei file, le pipeline non vengono attivate.

    Nell'esempio seguente, sia le inclusioni sia le esclusioni di file sono condizioni per l'attivazione.

    Le inclusioni di file e le esclusioni di file vengono visualizzate come coppie PLAIN o coppie REGEX con valori.

    • Per le inclusioni di file, un commit con una modifica in runtime/src/main/a.java o in un file Java qualsiasi attiva le pipeline impostate nella configurazione dell'evento.
    • Per le esclusioni di file, un commit con modifiche solo in entrambi i file non attiva le pipeline impostate nella configurazione dell'evento.
  10. Fare clic su Nuova configurazione.
    1. Per un evento Gerrit, selezionare Set di patch creato, Bozza pubblicata o Unione modifiche. Oppure, per un push diretto in Git che escluda Gerrit, selezionare Push Git diretto.
      Nota: A partire dalla versione 2.15 di Gerrit, le modifiche bozza e i set di modifiche bozza non sono più supportati. Pertanto, se si esegue Gerrit 2.15 o una versione successiva, Bozza pubblicata non è un evento supportato.
    2. Selezionare la pipeline che verrà attivata.
      Se la pipeline include parametri di input aggiunti personalizzati, nell'elenco Parametri di input vengono visualizzati i parametri e i valori. È possibile immettere valori per i parametri di input da trasmettere alla pipeline con l'evento trigger. Oppure è possibile lasciare vuoti i valori o utilizzare i valori predefiniti.
      Nota: Se sono definiti valori predefiniti:
      • Tutti i valori immessi per i parametri di input sostituiranno i valori predefiniti definiti nel modello della pipeline.
      • I valori predefiniti nella configurazione del trigger non cambieranno al variare dei valori dei parametri nel modello della pipeline.

      Per informazioni sui parametri di input di invio automatico per i trigger Gerrit, vedere i Prerequisiti.

    3. Per Set di patch creato, Bozza pubblicata e Unione modifiche, alcune azioni vengono visualizzate con etichette per impostazione predefinita. È possibile modificare l'etichetta o aggiungere commenti. Quindi, quando la pipeline viene eseguita, l'etichetta o il commento vengono visualizzati nella scheda Attività come Azione intrapresa per la pipeline.
      La configurazione dell'evento Gerrit consente di inserire commenti utilizzando una variabile per il commento Success o il commento Failure. Ad esempio: ${var.success} e ${var.failure}.
    4. Fare clic su Salva.
    Per aggiungere più eventi trigger in più pipeline, fare di nuovo clic su Nuova configurazione.
    Nell'esempio seguente è possibile visualizzare gli eventi per tre pipeline:
    • Se si verifica un evento Unione modifiche nel progetto Gerrit, viene attivata la pipeline denominata Gerrit-Pipeline.
    • Se si verifica un evento Set di patch creato nel progetto Gerrit, vengono attivate le pipeline denominate Gerrit-Trigger-Pipeline e Gerrit-Demo-Pipeline.

    La configurazione del listener e del trigger Gerrit include i tipi di evento e le pipeline che possono essere attivate.

  11. Fare clic su Crea.
    Il trigger Gerrit viene visualizzato come nuova sezione nella scheda Attivazioni ed è impostato come Disabilitato per impostazione predefinita.
  12. Nella scheda del trigger fare clic su Abilita.
    Una volta attivato, il trigger può utilizzare il listener Gerrit, che avvia il monitoraggio degli eventi che si verificano nel ramo del progetto Gerrit.
    Per creare un trigger con le stesse condizioni di inclusione file o di esclusione file, ma con un repository diverso da quello incluso quando il trigger è stato creato, nella scheda del trigger fare clic su Azioni > Clona. Quindi, nel trigger clonato, fare clic su Apri e modificare i parametri.

risultati

Congratulazioni! È stato configurato un trigger Gerrit con due eventi in tre pipeline diverse.

Operazioni successive

Dopo aver eseguito il commit di una modifica del codice nel progetto Gerrit, osservare la scheda Attività per l'evento Gerrit in Code Stream. Verificare che l'elenco di attività includa voci che corrispondono a ogni esecuzione della pipeline nella configurazione del trigger.

Quando si verifica un evento, solo le pipeline nel trigger Gerrit correlate a tale tipo di evento specifico possono essere eseguite. In questo esempio, se viene creato un set di patch, vengono eseguite solo Gerrit-Trigger-Pipeline e Gerrit-Demo-Pipeline.

Le informazioni nelle colonne della scheda Attività descrivono ciascun evento del trigger Gerrit. È possibile selezionare le colonne visualizzate facendo clic sull'icona della colonna disponibile sotto la tabella.
  • Le colonne Modifica oggetto ed Esecuzione sono vuote quando il trigger è un push Git diretto.
  • La colonna Trigger per Gerrit include il trigger che ha creato l'evento.
  • La colonna Listener è disattivata per impostazione predefinita. Quando è selezionata, la colonna indica il listener Gerrit che ha ricevuto l'evento. Un singolo listener può essere visualizzato come associato a più trigger.
  • La colonna Tipo di trigger è disattivata per impostazione predefinita. Quando è selezionata, la colonna indica il tipo di trigger AUTOMATIC o MANUAL.
  • Le altre colonne includono Tempo di commit, Numero modifica, Stato, Messaggio, Azione intrapresa, Utente, Progetto Gerrit, Ramo ed Evento.

La scheda Attività del trigger Gerrit include tutte le colonne selezionate e le informazioni pertinenti in ogni colonna per tutte le voci delle attività.

Per controllare l'attività per un'esecuzione di pipeline completata o non riuscita, fare clic sui tre puntini a sinistra di una voce nella schermata Attività.

  • Se la pipeline non viene eseguita a causa di un errore nel modello della pipeline o di un altro problema, correggere l'errore e selezionare Esegui nuovamente per eseguire di nuovo la pipeline.
  • Se la pipeline non viene eseguita a causa di un problema di connettività di rete o di un altro problema, selezionare Riprendi per riavviare la stessa esecuzione della pipeline e risparmiare tempo di esecuzione.
  • Utilizzare Visualizza esecuzione per aprire la visualizzazione dell'esecuzione della pipeline. Vedere Come eseguire una pipeline e visualizzare i risultati.
  • Utilizzare Elimina per eliminare la voce dalla schermata Attività.
Se un evento Gerrit non riesce ad attivare una pipeline, è possibile fare clic su Trigger manuale, selezionare il trigger per Gerrit, immettere l'ID modifica e fare clic su Esegui.
Nota: Trigger manuale funziona solo per gli eventi Gerrit validi, come Set di patch creato, Modifica unita e Bozza pubblicata.