Sobes.tech
Junior

Da dove proviene la build?

sobes.tech AI

Risposta dell'AI

La compilazione (build) del software viene eseguita come risultato del processo di compilazione, collegamento e confezionamento del codice sorgente del progetto insieme alle risorse necessarie (biblioteche, file di configurazione, immagini, ecc.) in un pacchetto unico eseguibile o distribuibile.

Durante la compilazione manuale, lo sviluppatore esegue questi passaggi manualmente o con script sul proprio computer locale. Durante la compilazione automatizzata, vengono utilizzati sistemi di integrazione continua (CI) come Jenkins, GitLab CI, GitHub Actions, TeamCity e altri.

Il processo di compilazione automatizzata è approssimativamente il seguente:

  1. Trigger: Una modifica nel repository (ad esempio, un commit in un ramo specifico) o l'esecuzione di una compilazione pianificata avvia la pipeline di compilazione.
  2. Recupero del codice: Il sistema CI recupera la versione attuale del codice sorgente dal sistema di controllo versione (Git, SVN, ecc.).
  3. Compilazione: Vengono eseguiti i comandi di compilazione secondo la configurazione del progetto (ad esempio, mvn clean package, npm build, dotnet publish). Questo passaggio include la compilazione del codice sorgente, l'esecuzione di test unitari e la creazione di artefatti di compilazione.
  4. Test: Possono essere eseguiti vari tipi di test automatizzati (integrazione, e2e, ecc.).
  5. Imballaggio: Gli artefatti di compilazione vengono confezionati nel formato appropriato (WAR/JAR per Java, immagine Docker, pacchetto NPM, msi, ecc.).
  6. Pubblicazione: L'artefatto (build) pronto viene pubblicato in un repository di artefatti (Nexus, Artifactory, Docker Registry), da cui può essere recuperato per deployment o test successivi.

In questo modo, la compilazione deriva da un processo automatizzato o manuale di compilazione, collegamento e confezionamento del codice sorgente, generalmente eseguito dal sistema CI dopo modifiche nel repository.