Amministratori e sviluppatori di Automation Pipelines possono integrare i servizi cloud di Automation Pipelines con il ciclo di vita di Git utilizzando il trigger Git. Quando si modifica il codice in GitHub, GitLab o Bitbucket Enterprise, l'evento comunica con Automation Pipelines tramite un webhook e attiva una pipeline. Il webhook funziona con le versioni Enterprise di GitLab, GitHub e Bitbucket nel cloud e in locale.

Quando si aggiunge il webhook per Git in Automation Pipelines, crea un webhook anche nel repository GitHub, GitLab o Bitbucket. Se si aggiorna o si elimina il webhook in un secondo momento, tale azione comporta l'aggiornamento o l'eliminazione del webhook anche in GitHub, GitLab o Bitbucket.

La definizione del webhook deve includere un endpoint Git nel ramo del repository che si desidera monitorare. Per creare il webhook, Automation Pipelines utilizza l'endpoint Git. Se l'endpoint non esiste, è possibile crearlo quando si aggiunge il webhook. In questo esempio si presuppone l'esistenza di un endpoint Git predefinito in GitHub.

Nota: Per creare un webhook, l'endpoint Git deve utilizzare un token privato per l'autenticazione. Non può utilizzare una password.

È possibile creare più webhook per rami diversi utilizzando lo stesso endpoint Git e specificando valori diversi per il nome del ramo nella pagina di configurazione del webhook. Per creare un altro webhook per un altro ramo nello stesso repository Git, non è necessario clonare l'endpoint Git più volte per più rami. È infatti sufficiente specificare il nome del ramo nel webhook in modo da poter riutilizzare l'endpoint Git. Se il ramo nel webhook Git è lo stesso ramo dell'endpoint, non è necessario specificare il nome del ramo nella pagina del webhook Git.

In questo esempio viene illustrato come utilizzare il trigger Git con un repository di GitHub, ma i prerequisiti includono i preparativi necessari se viene utilizzato un altro tipo di server Git.

Prerequisiti

Procedura

  1. In Automation Pipelines, fare clic su Trigger > Git.
  2. Fare clic sulla scheda Webhook per Git, quindi su Nuovo webhook per Git.
    1. Selezionare un progetto.
    2. Immettere un nome e una descrizione significativi per il webhook.
    3. Selezionare un endpoint Git configurato per il ramo che si desidera monitorare.
      Quando si crea il webhook, la definizione del webhook include i dettagli dell'endpoint corrente.
      • Se in seguito si modifica il tipo Git, il tipo di server Git o l'URL del repository Git nell'endpoint, il webhook non sarà più in grado di attivare una pipeline poiché tenterà di accedere al repository Git utilizzando i dettagli dell'endpoint originale. È necessario eliminare il webhook e crearlo di nuovo con l'endpoint.
      • Se in seguito si modifica il tipo di autenticazione, il nome utente o il token privato nell'endpoint, il webhook continuerà a funzionare.
      • Se si utilizza un repository BitBucket, l'URL del repository deve essere in uno di questi formati: https://api.bitbucket.org/{user}/{repo name} o http(s)://{bitbucket-enterprise-server}/rest/api/1.0/users/{username}/repos/{repo name}.
      Nota: Se in precedenza è stato creato un webhook utilizzando un endpoint Git che utilizza una password per l'autenticazione di base, è necessario eliminare e ridefinire il webhook con un endpoint Git che utilizza un token privato per l'autenticazione.
      Vedere Come integrare Automation Pipelines con Git.
    4. (Facoltativo) Immettere il ramo di cui si desidera monitorare il webhook.
      Se il ramo non viene specificato, il webhook monitora il ramo configurato per l'endpoint Git. Se si utilizza regex come nome di ramo, le modifiche apportate a qualsiasi ramo corrispondente a regex attiveranno la pipeline.
    5. (Facoltativo) Generare un token segreto per il webhook.
      Se si utilizza un token segreto, Automation Pipelines genera un token di stringa casuale per il webhook. Quindi, quando il webhook riceve i dati dell'evento Git, invia i dati con il token segreto. Automation Pipelines utilizza le informazioni per stabilire se le chiamate provengono dall'origine prevista, ad esempio il ramo, il repository o l'istanza configurati di GitHub. Il token segreto offre un livello aggiuntivo di sicurezza. utilizzato per verificare che i dati dell'evento Git provengano dall'origine corretta.
    6. (Facoltativo) Specificare inclusioni o esclusioni di file come condizioni per il trigger.
      • Inclusioni di file. Se uno qualsiasi dei file in un commit corrisponde ai file specificati nel regex o nei percorsi di inclusione, il commit attiva le pipeline. Con un regex specificato, Automation Pipelines attiva le pipeline solo quando i nomi di file nell'insieme di modifiche corrispondono all'espressione fornita. Il filtro regex è utile quando si configura un trigger per più pipeline in un singolo repository.
      • Esclusioni di file. Quando tutti file in un commit corrispondono ai file specificati nel regex o nei percorsi di esclusione, le pipeline non vengono attivate.
      • Assegnazione di priorità alle esclusioni. Quando è attivata, l'opzione Assegna priorità all'esclusione garantisce che le pipeline non vengano attivate anche se uno qualsiasi dei file di un commit corrisponde ai file specificati nel regex o nei percorsi di esclusione. L'opzione è disattivata per impostazione predefinita.
      Se le condizioni soddisfano sia l'inclusione di file sia l'esclusione di file, le pipeline non vengono attivate.

      Nell'esempio seguente sia le inclusioni che le esclusioni sono condizioni per l'attivazione.

      Le inclusioni e le esclusioni di file e i rispettivi valori vengono visualizzati nella scheda Webhook per Git nel trigger per Git e possono essere in testo normale o regex.

      • Per le inclusioni dei file, un commit con una modifica a runtime/src/main/a.java o a qualsiasi file Java attiva le pipeline configurate nella configurazione dell'evento.
      • Per le esclusioni dei file, solo un commit con modifiche in entrambi i file non attiva le pipeline configurate nelle configurazioni dell'evento.
    7. Per l'evento Git, selezionare una richiesta Push o Pull.
    8. Immettere il token dell'API.
      Il token dell'API VMware Cloud Services autentica l'utente per le connessioni API esterne con Automation Pipelines. Per ottenere il token API:
      1. Accedere a VMware Aria Automation.
      2. Accedere a
      3. Fare clic sul menu a discesa in base al proprio nome.
      4. Fare clic su Il mio account.
      5. Fare clic su Token API.
      6. Fare clic su Generare un nuovo token API.
        1. Assegnare un nome al token.
        2. In Ruoli organizzazione, fare clic per espandere Tutti i ruoli dell'organizzazione e selezionare Proprietario dell'organizzazione.
        3. In Ruoli servizio, fare clic per espandere VMware Aria Automation > Pipelines e selezionare Amministratore di Pipelines.
        4. Fare clic su Genera.

          La finestra Token generato mostra un token con il nome specificato e il nome dell'organizzazione.

      7. Fare clic sull'icona COPIA.

        Se si fa clic su COPIA si garantisce l'acquisizione della stringa esatta, ed è più affidabile rispetto all'utilizzo del puntatore per copiare la stringa.

    9. Selezionare la pipeline per il webhook da attivare.
      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 che vengono passati alla pipeline con l'evento trigger. Oppure è possibile lasciare vuoti i valori o utilizzare i valori predefiniti, se sono specificati.

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

    10. Fare clic su Crea.
      Il webhook viene visualizzato come nuova scheda.
  3. Fare clic sulla scheda del webhook.
    Quando viene visualizzato nuovamente il modulo dei dati del webhook, nella parte alta è presente un URL. Il webhook Git si connette al repository GitHub tramite l'URL del webhook.

    L'URL del webhook Git, copiato e utilizzato nel repository Git, viene visualizzato nella scheda Webhook per Git nel trigger per Git.

  4. In una nuova finestra del browser, aprire il repository GitHub che si connette tramite il webhook.
    1. Per visualizzare il webhook aggiunto in Automation Pipelines, fare clic sulla scheda Impostazioni e selezionare Webhook.
      Nella parte inferiore dell'elenco dei webhook viene visualizzato lo stesso URL del webhook.

      Nel repository GitHub, l'elenco di webhook mostra lo stesso URL del webhook Git nella parte inferiore dell'elenco.

    2. Per apportare una modifica al codice, fare clic sulla scheda Codice e selezionare un file nel ramo. Dopo aver modificato il file, eseguire il commit della modifica.
    3. Per verificare che l'URL del webhook funzioni, fare clic sulla scheda Impostazioni e selezionare nuovamente Webhook.
      Nella parte inferiore dell'elenco dei webhook viene visualizzato un segno di spunta verde accanto all'URL del webhook. Quando il webhook in GitHub è valido, viene visualizzato un segno di spunta verde.
  5. Tornare a Automation Pipelines per visualizzare l'attività sul webhook Git. Fare clic su Trigger > Git > Attività.
    In Stato esecuzione verificare che l'esecuzione della pipeline sia stata avviata.

    Quando un utente esegue il commit di un file, attiva il trigger per Git e la scheda Attività visualizza lo stato del trigger come STARTED.

  6. Fare clic su Esecuzioni e tenere traccia della pipeline durante l'esecuzione.
    Per osservare l'esecuzione della pipeline, è possibile fare clic su Aggiorna.

    Quando la pipeline viene attivata, l'esecuzione della pipeline mostra lo stato RUNNING.

risultati

Congratulazioni! Il trigger per Git è stato utilizzato correttamente.