Stai spendendo molto tempo per eseguire il codice nella tua infrastruttura con molti passaggi e software? Non preoccuparti, sei nel posto giusto per imparare come installare Jenkins, lo strumento open-source più utilizzato.
In questo tutorial, imparerai come installare Jenkins su una macchina Ubuntu, in modo da poter compilare e distribuire il codice con un semplice clic.
Continua a leggere e inizia l’installazione!
Prerequisiti
Questo post sarà un tutorial passo-passo. Per seguire, assicurati di avere una macchina Ubuntu. Questo tutorial utilizza Ubuntu 18.04 con apache installato.
Installazione di Java versione 11 su una macchina Ubuntu
Jenkins è uno strumento di Integrazione Continua (CI) e Deployment Continuo (CD), che puoi eseguire su diversi contenitori servlet, come ad esempio Apache Tomcat o GlassFish. Ma per questa demo, eseguirai Jenkins sul suo server integrato di contenitori servlet Java.
Esistono diverse implementazioni di Java che puoi utilizzare con Jenkins, ma OpenJDK è la più popolare, che installerai e utilizzerai in questo tutorial.
1. Accedi alla tua macchina Ubuntu utilizzando il tuo client SSH preferito.
2. Successivamente, esegui i seguenti comandi per creare una directory chiamata ~/install_jenkins_demo e passa a quella directory.
3. Esegui il comando apt install
di seguito per installare Java sulla tua macchina.

4. Infine, esegui il comando sottostante per verificare la versione di Java installata sul tuo computer. Farlo assicura che tu abbia installato Java con successo.

Installare Jenkins su un’istanza di Ubuntu 18.04 LTS
Ora che hai Java installato sulla macchina Ubuntu, è il momento di installare Jenkins sulla tua macchina. L’installazione di Jenkins è abbastanza simile a come si installano altri pacchetti sulla tua macchina.
Presumendo che tu sia ancora connesso al client SSH:
1. In primo luogo, esegui il comando apt update
per aggiornare i pacchetti di sistema.
2. Successivamente, esegui il comando wget
qui sotto per aggiungere la chiave pubblica di Jenkins al tuo sistema.
Aggiungere la chiave pubblica consente al sito di Jenkins di scaricare il repository ufficiale di Jenkins o eventuali pacchetti richiesti.
3. Esegui i comandi seguenti per aggiungere il repository ufficiale di Jenkins al tuo sistema e aggiornare il sistema.

4. Ora, esegui il comando sottostante per installare
il pacchetto Jenkins
.

5. Infine, eseguire il comando service
di seguito per verificare lo stato del servizio Jenkins. # Convalida del servizio Jenkins sulla macchina ubuntu service jenkins status
Come puoi vedere qui sotto, lo stato mostra che il servizio Jenkins è attivo.

Configurare un’istanza di Jenkins
Adesso sei a metà strada nell’installazione di Jenkins con successo. Ma, prima di iniziare effettivamente a usarlo, devi configurarlo con le funzionalità di base. Come? Il primo passo per configurare Jenkins è sbloccare il Jenkins appena installato.
Supponendo che tu sia ancora loggato nel client SSH:
1. Apri il tuo browser preferito e vai all’indirizzo IP del server seguito dalla porta 8080 come jenkins-ip:8080. Dopo aver navigato al link, dovrai sbloccare Jenkins fornendo la password amministrativa. La password amministrativa è memorizzata nella directory /var/lib/jenkins/secrets/initialAdminPassword
sul server (passo due).

2. Esegui il comando cat
di seguito per aggiungere la password dell’amministratore sulla tua macchina dalla directory /var/lib/jenkins/secrets/initialAdminPassword
.
Come puoi vedere qui sotto, la stringa enorme nell’output è la password dell’amministratore. Nota la password dell’amministratore poiché ne avrai bisogno per sbloccare Jenkins (passo tre).

3. Torna al tuo browser web (Sblocca Jenkins pagina) e inserisci la password dell’amministratore che hai annotato al passo due.
Una volta sbloccato Jenkins, il tuo browser reindirizzerà a una pagina dove personalizzerai la tua istanza di Jenkins con i plugin (passaggio quattro).
4. Sulla pagina Personalizza Jenkins, clicca sull’opzione Installa i plugin suggeriti.
Il plugin Jenkins è uno strumento di terze parti che si integra con Jenkins e consente di eseguire attività come il plugin Git. Il plugin Git ti permette di connetterti con il repository Git, eseguire comandi Git, e così via.

5. Compila i dettagli dell’utente amministratore, come mostrato di seguito, e clicca su Salva e Continua per creare un utente amministratore. Questo utente amministratore ti consente di lavorare con la Dashboard UI di Jenkins o con l’istanza di Jenkins.
Appena premi Salva e Continua, comparirà una schermata di Configurazione dell’istanza come mostrato nel passaggio cinque.
Inizialmente, Jenkins ha un utente amministratore creato con nome/password (
admin: admin
), ma ti offre comunque l’opzione di creare un utente amministratore personalizzato. Puoi saltare e continuare come amministratore se non vuoi creare un utente amministratore personalizzato.

6. Infine, clicca su Salva e Finisci per salvare la configurazione dell’istanza.
La configurazione dell’istanza ti consente di specificare l’URL di Jenkins che desideri utilizzare e, in questo caso, utilizzerai l’URL predefinito (cioè, server-ip:8080)


Cambiare la Porta Predefinita di un’istanza di Jenkins.
Precedentemente, hai appreso che per impostazione predefinita, Jenkins viene eseguito sulla porta 8080, il che va bene. Ma cosa succede se hai bisogno di eseguire altre applicazioni sulla stessa porta come Apache o NGINX? Nessun problema! Puoi cambiare la porta predefinita di Jenkins (8080) ed eseguire l’istanza di Jenkins su altre porte.
1. Apri il file /etc/default/Jenkins nel tuo editor di testo preferito e cambia la porta predefinita da 8080 a 9090 e salva le modifiche.

2. Successivamente, esegui il comando sottostante per riavviare Jenkins, in modo che le configurazioni aggiornate abbiano effetto.
3. Infine, vai all’URL di Jenkins, ma questa volta cambia la porta in 9090, come mostrato di seguito.

Esecuzione di Jenkins in modo sicuro (HTTPS) utilizzando un certificato SSL
Adesso, la tua istanza di Jenkins è in esecuzione perfettamente sulla porta 9090. Ma è sicura? No, non lo è. Proteggi la tua istanza di Jenkins e evita che venga compromessa dagli attaccanti abilitando un certificato SSL.
I certificati SSL sono principalmente utilizzati per testare sulla macchina locale quando non è disponibile un certificato da un’autorità di certificazione esterna.
Per proteggere la tua istanza di Jenkins:
1. Esegui ciascun comando sottostante per creare una directory chiamata ~/certificates per memorizzare i certificati e passa a quella directory.
2. Successivamente, esegui il seguente comando openssl
per generare una Richiesta di Firma del Certificato (CSR) e una chiave privata.

3. Esegui i seguenti comandi per creare un’altra directory (/etc/apache2/ssl
) e spostare i certificati dalla directory ~/certificates/
alla directory /etc/apache2/ssl
.
4. Apri il file di configurazione predefinito del sito SSL di Apache (/etc/apache2/sites-available/default-ssl.conf
) e aggiungi le seguenti righe. Assicurati di sostituire <my-server-name>
con il nome effettivo del tuo server.
Nel codice sottostante, specifica la posizione (chiave e file del certificato) in cui hai copiato in precedenza i certificati SSL. Inoltre, per consentire a Jenkins di reindirizzare sulla porta 9090
, aggiungi l’argomento ProxyPass
e attiva ProxyPreserveHost
.

5. Ora esegui ogni comando qui sotto per abilitare il modulo SSL, abilitare il sito che hai modificato (passaggio quattro) e riavviare il servizio Apache.
6. Infine, accedi alla tua istanza di Jenkins, ma questa volta, usando HTTPS, come mostrato di seguito.
Come puoi vedere, Jenkins si apre correttamente con connessioni SSL sulla porta HTTPS. Non preoccuparti se vedi un simbolo di avvertimento che mostra il messaggio Non sicuro. Riceverai quel avvertimento poiché stai utilizzando un certificato autofirmato (creato da te) e non dall’autorità di certificazione.

Conclusione
In questo tutorial, hai imparato come installare Jenkins su una macchina Ubuntu e verificare di poter accedere a un’istanza di Jenkins in modo sicuro.
Ora, come hai intenzione di migliorare le tue competenze con Jenkins? Forse automatizzare gli rilasci web? O creare un pipeline Jenkins CI CD per migliorare il tuo processo di sviluppo software?