Introduzione

Jenkins è un server di automazione open source che può essere utilizzato per impostare facilmente pipeline di integrazione continua e consegna continua (CI/CD).

L'integrazione continua (CI) è una pratica DevOps in cui i membri del team eseguono regolarmente le modifiche al codice nel repository di controllo della versione, dopo di che vengono eseguiti build e test automatici. La consegna continua (CD) è una serie di pratiche in cui le modifiche al codice vengono create, testate e distribuite automaticamente alla produzione.

Jenkins può essere installato come applicazione autonoma, come servlet in un contenitore servlet Java come Apache Tomcat o può essere eseguito come contenitore Docker.

Questo articolo spiega come installare Jenkins su Ubuntu 20.04 LTS Focal Fossa come servizio autonomo.

Se desideri installare Jenkins su un server in remoto continua a leggere, altrimenti salta il primo paragrafo "Connessione al Server" e leggi il successivo.

Connessione al Server

Per accedere al server, è necessario conoscere l'indirizzo IP. Avrai anche bisogno dell'username e della password per l'autenticazione. Per connettersi al server come utente root digitare il seguente comando:

ssh [email protected]_DEL_SERVER

Successivamente sarà necessario inserire la password dell'utente root.

Se non utilizzate l'utente root potete connettervi con un'altro nome utente utilizzando lo stesso comando, quindi modificare root con il vostro nome_utente:

ssh [email protected]_DEL_SERVER

Successivamente vi verrà chiesto di inserire la password del vostro utente.

La porta standard per connettersi tramite ssh è la 22, se il vostro server utilizza una porta diversa, sarà necessario specificarla utilizzando il parametro -p, quindi digitare il seguente comando:

ssh [email protected]_DEL_SERVER -p PORTA

Installare Java

Jenkins è un'applicazione Java e richiede l'installazione di Java 8 o versione successiva sul sistema. Installiamo OpenJDK 11, l'implementazione open source della piattaforma Java.

Esegui i seguenti comandi come utente root o utente con privilegi sudo per installare OpenJDK 11:

sudo apt update
sudo apt install openjdk-11-jdk

Una volta completata l'installazione, verificala controllando la versione Java:

java -version

L'output dovrebbe assomigliare a questo:

openjdk version "11.0.7" 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)

Installare Jenkins

L'installazione di Jenkins su Ubuntu è relativamente semplice. Abiliteremo il repository APT Jenkins, importeremo la chiave GPG del repository e installeremo il pacchetto Jenkins.

Importare le chiavi GPG del repository Jenkins usando il comando wget seguente:

wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -

Successivamente, aggiungi il repository Jenkins al sistema con questo comando:

sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'

Una volta abilitato il repository Jenkins, aggiorna l'elenco dei pacchetti apt e installa l'ultima versione di Jenkins digitando:

sudo apt update
sudo apt install jenkin

Se ricevi un messaggio di errore simile al seguente:

W: GPG error: https://pkg.jenkins.io/debian-stable binary/ Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 9B7D32F2D50582E6
E: The repository 'http://pkg.jenkins.io/debian-stable binary/ Release' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details

Importa la chiave in questo modo:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 9B7D32F2D50582E6

Quindi riprova ad installare jenkins:

sudo apt update
sudo apt install jenkin

Il servizio Jenkins si avvierà automaticamente al termine del processo di installazione. Puoi verificarlo stampando lo stato del servizio:

systemctl status jenkins

Dovresti vedere qualcosa del genere:

● jenkins.service - LSB: Start Jenkins at boot time
     Loaded: loaded (/etc/init.d/jenkins; generated)
     Active: active (exited) since Sat 2020-07-18 17:54:03 CEST; 6s ago
       Docs: man:systemd-sysv-generator(8)
      Tasks: 0 (limit: 2286)
     Memory: 0B
     CGroup: /system.slice/jenkins.service

Regolare il firewall

Se stai installando Jenkins su un server Ubuntu remoto protetto da un firewall, dovrai aprire la porta 8080.

In genere, si desidera consentire l'accesso al server Jenkins solo da un indirizzo IP o intervallo IP specifico. Ad esempio, per consentire le connessioni solo dalla sottorete "192.168.111.0/24", eseguire il comando seguente:

sudo ufw allow proto tcp from 192.168.111.0/24 to any port 8080

Se è necessario consentire l'accesso da qualsiasi posizione:

sudo ufw allow 8080

Installare Jenkins

Per impostare la nuova installazione Jenkins, aprire il browser, digitare il dominio o l'indirizzo IP seguito dalla porta 8080, http://DOMINIO_O_IP:8080.

Verrà visualizzata una pagina che richiede di inserire la password dell'amministratore creata durante l'installazione.

Utilizzare il comando cat per visualizzare la password sul terminale:

sudo cat /var/lib/jenkins/secrets/initialAdminPassword

Dovresti vedere una password alfanumerica lunga 32 caratteri, come mostrato di seguito:

7629aabd11c6484fbd9bc411f5d6f2c5

Copia la password dal terminale, incollala nel campo "Password amministratore" e fai clic su "Continua".

Nella schermata successiva, la procedura guidata di installazione ti chiederà se desideri installare plugin consigliati o se vuoi selezionare plugin specifici.

Fai clic sulla casella "Installa plug-in consigliati" e il processo di installazione inizierà immediatamente.

Una volta installati i plug-in, ti verrà richiesto di configurare il primo utente amministratore. Compila tutte le informazioni richieste e fai clic su "Salva e continua".

La pagina successiva ti chiederà di impostare l'URL per la tua istanza di Jenkins. Il campo verrà popolato con un URL generato automaticamente.

Conferma l'URL facendo clic sul pulsante "Salva e finisci" e il processo di installazione sarà completato.

Fai clic sul pulsante "Inizia a utilizzare Jenkins" e verrai reindirizzato alla dashboard di Jenkins.

A questo punto, hai installato correttamente Jenkins sul tuo server.

Conclusione

In questo tutorial, ti abbiamo mostrato come installare e completare la configurazione iniziale di Jenkins su Ubuntu 20.04 LTS Focal Fossa.

Ora puoi visitare la pagina della documentazione ufficiale di Jenkins e iniziare a esplorare il flusso di lavoro e il modello di plug-in di Jenkins.