0Pricing
Docker & DevOps Fundamentals · Lezione

Pipeline Jenkins come codice con Jenkinsfile

Definisca in modo dichiarativo le fasi di build, test e deploy in un Jenkinsfile presente nel repository, così la pipeline viene versionata insieme all'applicazione.

Pipeline Jenkins come codice con Jenkinsfile è una lezione Docker & DevOps Fundamentals gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Docker & DevOps Fundamentals, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Docker & DevOps Fundamentals include 4 lezioni in totale.

Pipeline come codice

Anziché configurare manualmente i job nell'interfaccia utente di Jenkins, descriva l'intera pipeline in un Jenkinsfile archiviato nel repository. La pipeline diventa codice: verificabile, sottoposto a versionamento e portabile.

Dichiarativa e basata su script

Jenkins offre due sintassi. Le pipeline dichiarative sono strutturate e adatte ai principianti; le pipeline basate su script usano Groovy completo. Qui ci si concentrerà sulle pipeline dichiarative.

Il blocco pipeline

Ogni Jenkinsfile dichiarativo inizia con un blocco pipeline contenente un agent (dove viene eseguito) e le stages.

pipeline {
  agent any
  stages {
    stage('Build') {
      steps { echo 'Building...' }
    }
  }
}

Definire gli stage

Ogni stage raggruppa steps correlate. Gli stage vengono visualizzati come colonne nell'interfaccia utente di Jenkins, offrendo una rappresentazione chiara dell'avanzamento della pipeline.

stages {
  stage('Build') { steps { sh 'make build' } }
  stage('Test')  { steps { sh 'make test' } }
}

Eseguire passaggi shell

Il passaggio sh esegue un comando shell sull'agent. Lo si può usare per compilare il codice, eseguire test o creare un'immagine Docker.

steps {
  sh 'docker build -t myapp:${BUILD_NUMBER} .'
}

Variabili d'ambiente

Un blocco environment definisce variabili per tutti i passaggi. Jenkins espone anche variabili integrate come BUILD_NUMBER e GIT_COMMIT.

environment {
  REGISTRY = 'registry.example.com'
  IMAGE    = 'myapp'
}

Associazione delle credenziali

Non inserire mai i segreti direttamente nel codice. Archiviarli nelle credenziali di Jenkins e recuperarli con l'helper credentials(), in modo che vengano mascherati nei log.

environment {
  REG_PASS = credentials('registry-password')
}

Azioni post-esecuzione

Un blocco post viene eseguito al termine degli stage, con un comportamento diverso in base al risultato. È perfetto per le notifiche e la pulizia.

post {
  success { echo 'Pipeline succeeded' }
  failure { echo 'Pipeline failed' }
  always  { sh 'docker image prune -f' }
}

Stage paralleli

È possibile velocizzare l'esecuzione eseguendo in parallel le attività indipendenti, ad esempio i test unitari e di integrazione contemporaneamente.

stage('Tests') {
  parallel {
    stage('Unit') { steps { sh 'make unit' } }
    stage('Integration') { steps { sh 'make int' } }
  }
}

Stage condizionali

La direttiva when esegue uno stage solo se una condizione è soddisfatta, ad esempio per distribuire il codice solo dal branch principale.

stage('Deploy') {
  when { branch 'main' }
  steps { sh './deploy.sh' }
}

Pipeline multibranch

Indichi a Jenkins un repository e questo rileverà ogni branch contenente un Jenkinsfile, creando automaticamente una pipeline per ciascun branch. I branch delle funzionalità ottengono la CI automaticamente.

Verifica rapida

Dove risiede la definizione di una pipeline dichiarativa?

Riepilogo

Ha imparato a definire le pipeline come codice:

  • pipeline { agent; stages } è lo scheletro dichiarativo
  • I passaggi sh eseguono comandi; environment e credentials() gestiscono la configurazione
  • post, parallel e when aggiungono funzionalità
  • Le pipeline multibranch forniscono automaticamente la CI a ogni branch

Il Jenkinsfile vive insieme al codice e si evolve con esso.

Domande Frequenti

La lezione «Pipeline Jenkins come codice con Jenkinsfile» è gratuita?

Sì — il testo completo di «Pipeline Jenkins come codice con Jenkinsfile» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Docker & DevOps Fundamentals, passa a CoddyKit PRO. Il corso Docker & DevOps Fundamentals include 4 lezioni in totale.

Cosa imparerò in «Pipeline Jenkins come codice con Jenkinsfile»?

Definisca in modo dichiarativo le fasi di build, test e deploy in un Jenkinsfile presente nel repository, così la pipeline viene versionata insieme all'applicazione. Eserciti Docker & DevOps Fundamentals con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Docker & DevOps Fundamentals?

Non è richiesta alcuna esperienza precedente. Docker & DevOps Fundamentals su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Pipeline Jenkins come codice con Jenkinsfile»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Docker & DevOps Fundamentals?

Sì. Ogni lezione Docker & DevOps Fundamentals include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Introduzione a Jenkins
  2. Creazione di immagini Docker con Jenkins
  3. Distribuzione automatizzata con Jenkins
  4. Pipeline Jenkins come codice con Jenkinsfile
← Torna a Docker & DevOps Fundamentals