---
title: "Continuous Integration e Continuous Deployment: come orientarsi tra gli strumenti CI/CD"
description: Perché Continuous Integration e Continuous deployment possono accelerare sviluppo e deployment del codice, e quali sono i tool da adottare
---

[Sourcesense Blog - Accelera l’evoluzione digitale](https://blog.sourcesense.com)

# [Continuous Integration e Continuous Deployment: come orientarsi tra gli strumenti CI/CD](https://blog.sourcesense.com/open-source/continuous-integration-e-continuous-deployment-come-orientarsi-tra-gli-strumenti-ci-cd)

 Scritto da [Francesco Bertasi](https://blog.sourcesense.com/author/francesco-bertasi) | Feb 23, 2023, 4:23:00 PM

Il principale obiettivo delle pratiche Continuous Integration e Continuous Deployment (**CI/CD**), ossia integrazione continua e distribuzione/deployment continui del software, è **consentire all’organizzazione IT di un’impresa di aumentare velocità e frequenza di pubblicazione e implementazione delle release**, senza per questo scendere a compromessi in merito a **sicurezza e qualità del codice sviluppato**.  

 

Le pratiche CI/CD rappresentano una componente fondamentale della moderna metodologia di sviluppo e distribuzione del codice nota come DevOps. **Il paradigma DevOps ha lo scopo di innovare i tradizionali modelli e cicli di progettazione e distribuzione del codice, minimizzando il time-to-market** con cui un’azienda riesce a pubblicare aggiornamenti, o nuove versioni, dei propri prodotti, applicazioni, servizi digitali. La riduzione del time-to-market è ottenibile, essenzialmente, eliminando il più possibile i processi manuali di manipolazione degli artefatti e del codice, instaurando nuovi metodi di lavoro, e **adottando strumenti di razionalizzazione e automazione delle fasi di creazione, test, Deployment, deployment del software**: i tool CI/CD appunto.  

Nel modello [DevOps](https://blog.sourcesense.com/devops-guida-completa-per-ottimizzare-sviluppo-e-operation), gli strumenti CI/CD vanno ad affiancarsi ad altri tool, come quelli di [configuration management](https://blog.sourcesense.com/infrastructure-as-code/infrastructure-as-code-e-configuration-management-per-accelerare-le-it-operation/), già descritti in un precedente post, tra cui si possono citare Ansible e Chef.    

 

## **Continuous Integration (CI), alcuni utili tool di automazione**

All’interno della pipeline CI/CD, la fase di integrazione continua serve ad **automatizzare il processo iterativo di creazione, test, controllo qualitativo della build software**, quindi del codice applicativo eseguibile, completo di tutte le integrazioni, e modifiche, apportate dal team di sviluppo.  

Allo scopo di rafforzare i meccanismi che verificano se il codice raggiunge determinati standard, **nel processo di Continuous Integration vengono spesso inseriti quality gate,** ossia ‘cancelli di qualità’, sbarramenti che il software supera soltanto se dimostra di soddisfare certe caratteristiche in termini, ad esempio, di buone pratiche di sviluppo e assenza di vulnerabilità.  

Nella Continuous Integration, **uno degli strumenti più utilizzati e versatili è Jenkins**, un server CI installabile on-premise o in cloud e dotato di una vasta gamma di plug-in. Nulla però vieta di adottare altri tool CI (basati su cloud) come Azure DevOps o AWS CodeBuild.  

 

Specie nei grandi progetti, per gestire la fase CI è anche possibile usare piattaforme di sviluppo collaborative come GitLab, che, oltre a supportare e presidiare la Continuous Integration, può funzionare anche come **strumento di versionamento del codice**.  

Altri strumenti [Open Source](https://blog.sourcesense.com/open-source/7-ottimi-motivi-per-affidarsi-allo-sviluppo-open-source/), come Rundeck, non sono dedicati in maniera specifica alla CI, ma sono molto utili per automatizzare la programmazione di varie operazioni e procedure. Sempre nella fase Continuous Integration, **per controllare la qualità del codice**, si può usare il tool SonarQube, gratuito nella versione Community Edition. **Per eseguire controlli su eventuali vulnerabilità del codice** esistono poi strumenti basati sul metodo **OAST** (out-of-band application security testing), introdotto per migliorare il modello DAST (dynamic application security testing).    

 

## **Fase di Continuous Deployment (CD), quali strumenti scegliere**

Una volta superata la fase di Continuous Integration, **la build software creata in automatico**, che può essere un artefatto Java, un’immagine Docker, o un pacchetto RPM, **viene depositata in un repository**, in modo da essere subito disponibile per il successivo prelievo nella fase CD.  

Il processo di distribuzione continua/deployment continuo del codice consiste infatti nella **pubblicazione e implementazione del software in maniera automatizzata e rapida**. In sostanza, l’artefatto viene prelevato da un repository e implementato su determinati carichi di lavoro (workload). Per pubblicare e distribuire il pacchetto in automatico su una molteplicità di server, nella fase CD è possibile utilizzare strumenti di configuration management come Ansible, o Chef.  

In vari casi, le organizzazioni IT delle imprese tendono a gestire l’intera pipeline CI/CD con Jenkins, che quindi viene sfruttato sia per la creazione della build, sia per la distribuzione e implementazione dell’artefatto.  

 

Tuttavia, **chi desidera introdurre maggior innovazione nella fase CD, può utilizzare Argo CD**, un moderno strumento di Continuous Deployment per la piattaforma di orchestrazione di container Kubernetes. **Argo CD consente di eseguire il deployment di oggetti (manifesti) Kubernetes, o di Helm chart all’interno di cluster Kubernetes** utilizzando il metodo dichiarativo, in cui va specificato soltanto quale dovrà essere lo stato finale dell’applicazione nel cluster stesso.  

Tra l’altro, a dicembre 2022, il progetto Argo si è ufficialmente laureato, all’interno della Cloud Native Computing Foundation (CNCF), soddisfacendo rigorosi criteri e requisiti di sicurezza, governance, e adozione da parte degli utenti.  

 

## **Criteri di selezione dei tool CD**

Riguardo ai tool per la gestione della fase di Continuous Deployment, non è possibile fornire indicazioni specifiche sulla selezione di strumenti particolari, in quanto la loro scelta dipende da numerose variabili. In primo luogo, **dipende dalla tipologia di workload su cui si deve attuare la distribuzione del software**: quindi, ad esempio, il tool da usare può essere differente, a seconda che si tratti di gestire workload tradizionali, oppure containerizzati, come quelli basati su immagini Docker.   

In secondo luogo, **un’altra variabile è rappresentata dall’ambiente IT in cui viene implementata l’applicazione**, che può essere l’infrastruttura on-premise, oppure il cloud. In quest’ultimo caso, se i vincoli di budget lo consentono, si può optare per l’adozione di strumenti basati su servizi SaaS (software as a service) fornibili dal cloud provider.  

Nel caso, invece, dell’ambiente on-premise, la scelta dello strumento CD più adatto va fatta anche sulla base dello **stack software preesistente** nella sede dell’azienda utente, e tenendo conto delle competenze tecniche di cui l’organizzazione si trova già in possesso internamente.

[Visualizza articolo completo](https://blog.sourcesense.com/open-source/continuous-integration-e-continuous-deployment-come-orientarsi-tra-gli-strumenti-ci-cd)

```json
{
  "@context" : "http://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "Francesco Bertasi"
  },
  "dateModified" : "2026-02-16T16:13:34.871Z",
  "datePublished" : "2023-02-23T16:23:00Z",
  "headline" : "Continuous Integration e Continuous Deployment: come orientarsi tra gli strumenti CI/CD",
  "image" : {
    "@type" : "ImageObject",
    "height" : 5000,
    "url" : "https://139525617.fs1.hubspotusercontent-eu1.net/hubfs/139525617/Imported_Blog_Media/CI-CD.jpg",
    "width" : 7500
  },
  "mainEntityOfPage" : "https://blog.sourcesense.com/open-source/continuous-integration-e-continuous-deployment-come-orientarsi-tra-gli-strumenti-ci-cd",
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "height" : 60,
      "url" : "/hs/hsstatic/content_shared_assets/static-1.4092/img/default-amp-logo.png",
      "width" : 60
    },
    "name" : "Sourcesense Blog - Accelera l’evoluzione digitale"
  }
}
```