Accedi / Registrati Account

DEVOPS

Cos'è una pipeline di CI/CD?

Jump to section

La CI/CD (dall'inglese, continuous integration/continuous delivery) consiste in una serie di passaggi che devono essere eseguiti per fornire una nuova versione software. Le pipeline di integrazione e distribuzione continue (CI/CD) sono procedure pensate per ottimizzare l'erogazione di software attraverso l'approccio DevOps o Site Reliability Engineering (SRE).

Il flusso di integrazione e distribuzione continue (CI/CD) introduce il monitoraggio e l'automazione per ottimizzare il processo di sviluppo delle applicazioni, in particolare nelle fasi di integrazione e test, nonché durante la distribuzione e il deployment. Il vantaggio principale dell'integrazione e distribuzione continue (CI/CD) sta nell'automazione delle procedure, benché ognuna di esse possa essere eseguita manualmente.

Elementi di una pipeline CI/CD

Una pipeline CI/CD si suddivide in sottoinsiemi distinti di attività, ognuno dei quali costiuisce una fase di pipeline. Le fasi di pipeline tipiche includono:

  • Build: la fase di compilazione dell'applicazione.
  • Test: la fase in cui il codice viene testato. Qui l'automazione può far risparmiare tempo e fatica.
  • Rilascio: la fase in cui l'applicazione viene fornita al repository.
  • Deployment: in questa fase il codice viene distribuito al reparto di produzione.
  • Convalida e conformità: i passaggi per convalidare una build dipendono dalle esigenze dell'organizzazione. Gli strumenti di scansione per la sicurezza delle immagini, ad esempio Clair, possono garantire la qualità delle immagini confrontandole con vulnerabilità note (CVE).
     

Questo elenco di fasi non intende essere esaustivo, ma è solo un esempio di pipeline. La tua pipeline di integrazione e distribuzione continue (CI/CD) potrà essere definita in base alle esigenze della tua azienda.

Container e pipeline di CI/CD

I sistemi di CI/CD tradizionali sono progettati per pipeline che utilizzano macchine virtuali, ma adottando uno sviluppo di applicazioni cloud native si aggiungono vantaggi ai flussi di CI/CD. Cosa accade quando una pipeline di CI/CD è abbinata ai container?

Utilizzando il progetto Tekton open source puoi creare pipeline in stile Kubernetes in grado di controllare l'intero ciclo di vita dei microservizi, senza dover fare affidamento su team centrali per la manutenzione e la gestione di server di integrazione continua, plugin e configurazioni.

OpenShift Pipelines

OpenShift Pipelines è una funzionalità di Red Hat OpenShift creata su Tekton, un progetto open source che fornisce un framework per creare rapidamente pipeline CI/CD cloud native. Tekton è un framework di (CI/CD) per piattaforme Kubernetes che offre un'esperienza CI/CD cloud native standard con container. In qualità di framework Kubernetes native, Tekton semplifica il deployment in più provider cloud o ambienti ibridi. Attraverso una serie di Custom Resource Definitions (CRD) in Kubernetes, Tekton utilizza il piano di controllo di Kubernetes per eseguire le attività del flusso. Adottando le specifiche standard del settore, Tekton funziona in maniera ottimale con strumenti di CI/CD esistenti quali Jenkins, Jenkins X, Skaffold e Knative.

Gli elementi essenziali della tua pipeline CI/CD

Red Hat Openshift

Una piattaforma per container e Kubernetes che velocizza il deployment di applicazioni cloud native.

Red Hat Ansible Automation Platform

Le attività CI/CD richiedono una codifica personalizzata estesa e più pacchetti software. Red Hat Ansible Automation Platform è un linguaggio di automazione open source che garantisce tutto questo.

Scopri gli altri vantaggi dell'approccio CI/CD