Per creare una pipeline di integrazione e consegna continue (CICD) in Automation Pipelines, è possibile aggiungere manualmente fasi e attività. Per pianificare la creazione nativa di CICD, raccogliere le informazioni necessarie, quindi creare una pipeline e aggiungere manualmente fasi e attività.

È necessario pianificare sia le fasi di integrazione continua (CI) che quelle di consegna continua (CD) della pipeline. Dopo aver creato ed eseguito la pipeline, è possibile monitorare le tendenze nelle relative esecuzioni.

Quando una pipeline include un'immagine da Docker Hub, è necessario verificare che l'immagine disponga di cURL o wget incorporato prima di eseguire la pipeline. Quando la pipeline viene eseguita, Automation Pipelines scarica un file binario che utilizza cURL o wget per eseguire i comandi.

L'area di lavoro della pipeline di Automation Pipelines supporta Docker e Kubernetes per le attività di integrazione continua e le attività personalizzate.

Per informazioni sulla configurazione dell'area di lavoro, vedere Configurazione dell'area di lavoro della pipeline.

Pianificazione dei requisiti esterni e interni

Per pianificare le fasi CI e CD della pipeline, è necessario verificare che i seguenti requisiti siano soddisfatti prima di creare la pipeline.

Questo esempio utilizza un'area di lavoro di Docker.

Per creare una pipeline da questo piano di esempio, si utilizza un host Docker, un repository Git, Maven e diversi strumenti di creazione post elaborazione.

Endpoint e repository locali basati su cloud o remoti necessari:

  • Un repository del codice sorgente Git in cui gli sviluppatori archiviano il codice. Automation Pipelines estrae il codice più recente nella pipeline quando gli sviluppatori confermano le modifiche.
  • Un endpoint Docker per l'host della build Docker che eseguirà i comandi di creazione all'interno di un contenitore.
  • Un'immagine del generatore che crea il contenitore su cui vengono eseguiti i test di integrazione continua.
  • Un endpoint del registro immagini dal quale l'host della build Docker può estrarre l'immagine del generatore.

È necessario disporre di accesso a un progetto. Il progetto raggruppa tutto il lavoro, inclusi la pipeline, gli endpoint e i dashboard. Verificare di essere un membro di un progetto in Automation Pipelines. In caso contrario, chiedere a un amministratore di Automation Pipelines di essere aggiunti come membri di un progetto. Vedere Come aggiungere un progetto in Automation Pipelines.

È necessario un webhook Git che consenta a Automation Pipelines di utilizzare il trigger Git per attivare la pipeline quando gli sviluppatori eseguono il commit delle modifiche al codice. Vedere Come utilizzare il trigger Git in Automation Pipelines per eseguire una pipeline.

Come creare la pipeline CICD e configurare l'area di lavoro

È necessario creare la pipeline, quindi configurare le aree di lavoro, i parametri di input e le attività della pipeline.

Per creare la pipeline, fare clic su Pipeline > Nuova pipeline > Tela vuota.

Quando si crea una pipeline, è possibile utilizzare la tela vuota.

Nella scheda Area di lavoro, immettere le informazioni di integrazione continua:

  • Includere l'host della build Docker.
  • Immettere l'URL dell'immagine del generatore.
  • Selezionare l'endpoint del registro immagini da cui la pipeline deve estrarre l'immagine. Il contenitore esegue le attività CI e distribuisce l'immagine. Se il registro richiede le credenziali, è innanzitutto necessario creare un endpoint del registro immagini, quindi selezionarlo qui in modo che l'host possa estrarre l'immagine dal registro.
  • Aggiungere gli artefatti che devono essere memorizzati nella cache. Affinché una creazione riesca, gli artefatti come le directory devono essere scaricati come dipendenze. La cache è la posizione in cui si trovano questi artefatti. Ad esempio, gli artefatti dipendenti possono includere la directory .m2 per Maven e la directory node_modules per Node.js. Queste directory vengono memorizzate nella cache nelle esecuzioni della pipeline per risparmiare tempo durante le creazioni.

    Quando si crea manualmente una pipeline, si configura l'area di lavoro per la pipeline nella scheda Area di lavoro.

Nella scheda Input configurare i parametri di input della pipeline.

  • Se la pipeline utilizzerà parametri di input da un evento trigger Git, Gerrit o Docker, selezionare il tipo di trigger per i parametri di inserimento automatico. Gli eventi possono includere Modifica oggetto per Gerrit o Git, o il nome del proprietario dell'evento per Docker. Se la pipeline non utilizzerà alcun parametro di input passato dall'evento, lasciare i parametri di invio automatico impostati su Nessuno.
  • Per applicare un valore e una descrizione a un parametro di input della pipeline, fare clic sui tre punti verticali, quindi su Modifica. Il valore immesso viene utilizzato come input per le attività, le fasi o le notifiche.
  • Per aggiungere un parametro di input della pipeline, fare clic su Aggiungi. Ad esempio, è possibile aggiungere approvers per visualizzare un valore predefinito per ogni esecuzione, ma che può essere sovrascritto con un approvatore diverso in fase di runtime.
  • Per aggiungere o rimuovere un parametro immesso, fare clic su Aggiungi/Rimuovi parametro immesso. Ad esempio, rimuovere un parametro inutilizzato per ridurre l'ingombro nella pagina dei risultati e visualizzare solo i parametri di input utilizzati.

    Quando si crea manualmente una pipeline CICD, è necessario configurare i parametri di input nella scheda Input.

Configurare la pipeline per testare il codice:

  • Aggiungere e configurare un'attività CI.
  • Includere i passaggi per eseguire mvn test nel codice.
  • Per identificare eventuali problemi dopo l'esecuzione dell'attività, eseguire gli strumenti di creazione post-elaborazione, ad esempio JUnit e JaCoCo, FindBugs e Checkstyle.

    Per testare il codice, configurare l'attività CI con passaggi e strumenti di creazione post-elaborazione.

Configurare la pipeline per creare il codice:

  • Aggiungere e configurare un'attività CI.
  • Includere i passaggi per l'esecuzione di mvn clean install nel codice.
  • Includere la posizione e il nome del file JAR in modo da preservare l'artefatto.

    Per creare il codice, aggiungere i passaggi nell'attività CI.

Configurare la pipeline per pubblicare l'immagine nell'host Docker:

  • Aggiungere e configurare un'attività CI.
  • Aggiungere i passaggi per il commit, l'esportazione, la creazione e l'inserimento dell'immagine.
  • Aggiungere la chiave di esportazione di IMAGE per l'attività successiva da utilizzare.

    Per pubblicare l'immagine nell'host Docker, aggiungere i passaggi e la chiave di esportazione nell'attività CI.

Dopo aver configurato l'area di lavoro, i parametri di input, le attività di test e le attività di creazione, salvare la pipeline.

Come abilitare ed eseguire la pipeline

Dopo aver configurato la pipeline con fasi e attività, è possibile salvarla e abilitarla.

Quindi, attendere che la pipeline venga eseguita e terminata e verificare che sia stata eseguita correttamente. Se non è riuscita, correggere eventuali errori ed eseguirla di nuovo.

Se la pipeline è stata eseguita correttamente, verificare quanto segue:

  • Esaminare l'esecuzione della pipeline e visualizzare i risultati dei passaggi delle attività.
  • Nell'area di lavoro dell'esecuzione della pipeline, individuare i dettagli relativi al contenitore e al repository Git duplicato.
  • Nell'area di lavoro, esaminare i risultati degli strumenti di post elaborazione e verificare la presenza di errori, code coverage, bug e problemi di stile.
  • Verificare che l'artefatto sia conservato. Verificare inoltre che l'immagine sia stata esportata con il nome e il valore dell'immagine.
  • Passare al repository Docker e verificare che la pipeline abbia pubblicato il contenitore.

Per un esempio dettagliato in cui viene illustrato come Automation Pipelines integra il codice in modo continuativo, vedere Come integrare il codice in modo continuativo dal repository GitHub o GitLab nella pipeline in Automation Pipelines.