L'amministratore di Code Stream può condividere le pipeline in modo che gli utenti di un'organizzazione possano eseguirle in qualsiasi altro progetto o aggiungerle come attività nidificate nella pipeline di un altro progetto.

Perché una pipeline condivisa è utile

Quando si condivide una pipeline, non è più necessario creare la stessa pipeline per progetti diversi all'interno di un'organizzazione. E se si aggiorna una pipeline condivisa, tutti gli utenti della pipeline avranno lo stesso aggiornamento.

Una pipeline condivisa può essere utilizzata anche in Service Broker. Un amministratore di Service Broker può aggiungere la pipeline condivisa come elemento del catalogo affinché gli utenti possano richiederla ed eseguirla in più progetti.

Solo gli amministratori di Code Stream possono condividere o interrompere la condivisione di pipeline.

Come si condivide una pipeline

Per condividere una pipeline, fare clic su Pipeline e selezionare la pipeline che si desidera condividere.

  1. Fare clic su Azioni > Condividi tra progetti.
  2. Se la pipeline è disattivata, fare clic su Azioni > Abilita.
  3. (Facoltativo) Per rendere la pipeline condivisa disponibile in Service Broker, fare clic su Azioni > Rilascia.

    Dopo aver rilasciato la pipeline, un amministratore di Service Broker può aggiungerla a Service Broker. Vedere Aggiunta di pipeline di Code Stream al catalogo di Service Broker.

Come si esegue una pipeline condivisa

Per eseguire una pipeline condivisa, selezionare la pipeline e selezionare un progetto.

La pipeline viene eseguita nel contesto del progetto selezionato e solo il modello di pipeline viene condiviso. Qualsiasi infrastruttura, ad esempio endpoint o variabili utilizzati nella pipeline, non viene condivisa. Se una pipeline condivisa che utilizza endpoint o variabili viene eseguita in un progetto diverso, tali endpoint e variabili devono essere disponibili in tale progetto.

Ad esempio, si supponga che jenkinsPipeline utilizzi projectA e includa un'attività con un endpoint jenkinsEndpoint.

Prima di eseguire una pipeline condivisa, verificare se la pipeline include i contenuti necessari per eseguire la pipeline in un progetto diverso.

Se si condivide jenkinsPipeline e si desidera eseguirla nel contesto di projectB, deve essere presente un jenkinsEndpoint su projectB. In assenza di jenkinsEndpoint, creare l'endpoint in projectB prima di eseguire la pipeline condivisa.

La procedura seguente illustra come duplicare un endpoint in un altro progetto. I passaggi da eseguire per una variabile sono simili.

  1. Fare clic su Endpoint. Sull'endpoint che si desidera duplicare, ad esempio jenkinsEndpoint, fare clic su Azioni > Esporta.
  2. Fare clic sul pulsante Importa e selezionare il file YAML per jenkinsEndpoint.
  3. Modificare il file per modificare il progetto, ad esempio projectB nel seguente codice YAML di esempio.
    ---
    project: projectB
    kind: ENDPOINT
    name: jenkinsEndpoint
    ...
  4. Fare clic su Importa.

Per eseguire jenkinsPipeline in projectB, fare clic su Esegui nella scheda della pipeline e selezionare projectB come progetto.

Nota: Per eseguire la pipeline condivisa in projectB, è necessario disporre del ruolo di amministratore, sviluppatore o esecutore di Code Stream. Se si è visualizzatori o utenti di Code Stream, non è possibile eseguire la pipeline a meno che un amministratore di Code Stream non conceda il ruolo di amministratore del progetto o membro del progetto in projectB. Per ulteriori informazioni sui ruoli in Code Stream, vedere Come gestire accesso utente e approvazioni in Code Stream.

Come aggiungere una pipeline condivisa a un'altra pipeline

L'utilizzo di pipeline condivise come attività nidificate in un'altra pipeline consente di estendere la funzionalità della pipeline oltre le pipeline incluse in un progetto. Le pipeline condivise possono trovarsi in progetti diversi l'uno dall'altro e dalla pipeline in cui vengono incluse come attività nidificate.

L'esempio seguente mostra una pipeline denominata master-shared-pipeline-demo con due attività della pipeline nidificate.

Durata la creazione di una pipeline con pipeline condivise nidificate, selezionare la pipeline condivisa e, se sono presenti due pipeline con lo stesso nome, utilizzare il nome del progetto per selezionare quella desiderata.

Per specificare la pipeline Task0, selezionare da un elenco di pipeline condivise. Ogni nome di pipeline include il nome del progetto. Se più pipeline condivise hanno lo stesso nome, è possibile utilizzare il nome del progetto per selezionare quella desiderata.

Nota: Per eseguire una pipeline che includa pipeline nidificate, la pipeline deve poter accedere a tutti gli endpoint o le variabili utilizzati nelle pipeline nidificate. Se non può, è necessario creare il contenuto del progetto per la pipeline.

Come eliminare una pipeline o interromperne la condivisione

Se si aggiunge una pipeline condivisa come attività nidificata, la pipeline in cui è nidificata fa riferimento a tale pipeline. Se si desidera eliminare la pipeline o interromperne la condivisione, è necessario rimuoverla da qualsiasi pipeline che fa riferimento a tale pipeline.

Ad esempio, se master-shared-pipeline-demo include Shared-Pipeline come attività nidificata, viene fatto riferimento a Shared-Pipeline. Non è possibile eliminare o interrompere la condivisione di Shared-Pipeline finché non viene rimossa da master-shared-pipeline-demo.

La procedura seguente illustra come controllare i riferimenti di una pipeline e rimuoverla dalla pipeline che vi fa riferimento prima di eliminarla o interromperne la condivisione.

  1. Verificare se sono presenti riferimenti della pipeline e aggiornarli se li si trova.
    1. Fare clic su Pipeline. Nella pipeline condivisa che si desidera controllare, fare clic su Azioni > Visualizza riferimenti.
    2. Aprire le pipeline che fanno riferimento alla pipeline condivisa e rimuovere l'attività nidificata, quindi salvare la pipeline.
  2. Eliminare una pipeline o interromperne la condivisione.
    • Nella pipeline che si desidera eliminare, fare clic su Azioni > Elimina.
    • Nella pipeline di cui si desidera interrompere la condivisione, fare clic su Azioni > Interrompi condivisione.