GNU/Linux >> Linux Esercitazione >  >> Linux

Come installare Jenkins CI/CD in Ubuntu Linux

Dedichi molto tempo alla distribuzione del codice nella tua infrastruttura con molti passaggi e software? Non preoccuparti, sei nel posto giusto per imparare a installare Jenkins, lo strumento open source più utilizzato.

Non sei un lettore? Guarda questo video tutorial correlato! Non vedi il video? Assicurati che il blocco degli annunci sia disattivato.

In questo tutorial imparerai come installare Jenkins su una macchina Ubuntu, in modo da poter creare e distribuire codice con un clic di un pulsante.

Continua a leggere e inizia l'installazione!

Prerequisiti

Questo post sarà un tutorial passo dopo 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 distribuzione continua (CD), che puoi eseguire in diversi contenitori di servlet, come Apache Tomcat o glassfish. Ma per questa demo, eseguirai Jenkins sul suo server container servlet Java integrato.

Esistono diverse implementazioni Java che puoi utilizzare per lavorare con Jenkins, ma OpenJDK è la più popolare, che installerai e utilizzerai in questo tutorial.

1. Accedi alla tua macchina Ubuntu usando il tuo client SSH preferito.

2. Quindi, esegui i seguenti comandi per creare una directory denominata ~/install_jenkins_demo e passa a quella directory.

mkdir ~/install_jenkins_demo
cd ~/install_jenkins_demo

3. Esegui apt install comando seguente per installare Java sulla tua macchina.

# Installing Java Version: Java SE 11 (LTS)
sudo apt install default-jdk 

4. Infine, esegui il comando seguente per verificare la versione di Java installata sulla tua macchina. In questo modo avrai la certezza di aver installato correttamente Java.

# Checking the Version of Java to verify Java installation.
java -version

Installa Jenkins sull'istanza LTS di Ubuntu 18.04

Ora che hai installato Java sulla macchina Ubuntu, è il momento di installare Jenkins sulla tua macchina. L'installazione di Jenkins è abbastanza simile a come si installano altri pacchetti sulla macchina.

Supponendo che tu sia ancora connesso al client SSH:

1. Innanzitutto, esegui apt update comando per aggiornare i pacchetti di sistema.

sudo apt update

2. Quindi, esegui wget comando seguente per aggiungere la chiave pubblica Jenkins al tuo sistema.

L'aggiunta della chiave pubblica consente al sito Jenkins di scaricare il repository ufficiale Jenkins o qualsiasi pacchetto richiesto.

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

3. Esegui i seguenti comandi per aggiungere il repository ufficiale Jenkins al tuo sistema e aggiornare il tuo sistema.

# Adding the Jenkins official repository to the system
sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > \
    /etc/apt/sources.list.d/jenkins.list'
# Updating the package
sudo apt-get update

4. Ora, esegui il comando seguente su install il Jenkins pacchetto.

# Installing the Jenkins Package
sudo apt-get install Jenkins

5. Infine, esegui service comando seguente per verificare lo stato del servizio Jenkins. # Validating the Jenkins service on ubuntu machine service jenkins status

# Validating the Jenkins service on ubuntu machine
service jenkins status

Come puoi vedere di seguito, lo stato mostra che il servizio Jenkins è attivo .

Configurazione di un'istanza Jenkins

A questo punto, sei a metà dell'installazione di Jenkins con successo. Ma, prima di iniziare effettivamente a usarlo, devi configurarlo con i servizi di base. Come? Il primo passaggio per configurare Jenkins è sbloccare il nuovo Jenkins installato.

Supponendo che tu sia ancora connesso al client SSH:

1. Apri il tuo browser preferito e vai all'indirizzo IP del server seguito dalla porta 8080 come jenkins-ip:8080. Dopo essere passati al collegamento, dovrai sbloccare Jenkins fornendo la password amministrativa. La password amministrativa è memorizzata in /var/lib/jenkins/secrets/initialAdminPassword directory sul server (passaggio due).

2. Esegui cat comando seguente per aggiungere la password dell'amministratore sulla tua macchina da /var/lib/jenkins/secrets/initialAdminPassword directory.

cat /var/lib/jenkins/secrets/initialAdminPassword

Come puoi vedere di seguito, l'enorme stringa nell'output è la password dell'amministratore. Prendi nota della password dell'amministratore poiché ti servirà per sbloccare Jenkins (passaggio tre).

3. Torna al tuo browser web (Sblocca Jenkins pagina) e inserisci la password amministratore annotata nel passaggio due.

Dopo aver sbloccato Jenkins, il tuo browser reindirizza a una pagina in cui personalizzerai la tua istanza Jenkins con i plug-in (passaggio quattro).

4. In Personalizza Jenkins pagina, fai clic su Installa plug-in suggeriti opzione.

Jenkins Plugin è uno strumento di terze parti che si integra con Jenkins e consente di eseguire attività come il plug-in Git. Il plug-in Git ti consente di connetterti con il repository Git, eseguire comandi Git e così via.

5. Inserisci i dettagli dell'utente amministratore, come mostrato di seguito, e fai clic su Salva e continua per creare un utente amministratore. Questo utente amministratore ti consente di lavorare con il dashboard dell'interfaccia utente di Jenkins o l'istanza di Jenkins.

Non appena premi Salva e continua, otterrai una schermata di configurazione dell'istanza mostrata nel passaggio cinque.

Per impostazione predefinita, Jenkins ha un utente amministratore creato con nome utente/password (admin: admin ) ma ti offre comunque un'opzione per creare un utente amministratore a tua scelta. Puoi saltare e continuare come amministratore se non desideri creare un utente amministratore personalizzato.

6. Infine, fai clic su Salva e termina per salvare la configurazione dell'istanza.

La configurazione dell'istanza ti consente di specificare l'URL Jenkins che desideri utilizzare e, in questo caso, utilizzerai l'URL predefinito (ad esempio, server-ip:8080)

Modifica della porta predefinita di un'istanza Jenkins

In precedenza, hai appreso che per impostazione predefinita, Jenkins funziona sulla porta 8080, il che va bene. Ma cosa succede se è necessario eseguire altre applicazioni sulla stessa porta come Apache o NGINX? Nessun problema! Puoi modificare la porta predefinita di Jenkins (8080) ed eseguire l'istanza Jenkins su altre porte.

1. Apri /etc/default/Jenkins file nel tuo editor di testo preferito e cambia la porta predefinita da 8080 a 9090 e salva le modifiche.

2. Quindi, esegui il comando seguente per riavviare Jenkins, in modo che le configurazioni aggiornate abbiano effetto.

sudo systemctl restart jenkins

3. Infine, vai all'URL Jenkins, ma questa volta cambia la porta in 9090, come mostrato di seguito.

Esecuzione di Jenkins in modo sicuro (HTTPS) utilizzando il certificato SSL

A questo punto, la tua istanza Jenkins funziona perfettamente nella porta 9090. Ma è sicura? No non lo è. Proteggi la tua istanza Jenkins ed evita che venga compromessa dagli aggressori abilitando un certificato SSL.

I certificati SSL vengono utilizzati principalmente per testare nella macchina locale quando non è disponibile alcun certificato da un'autorità di certificazione esterna.

Per proteggere la tua istanza Jenkins:

1. Esegui ogni comando seguente per creare una directory denominata ~/certificates per memorizzare i certificati e passare a quella directory.

mkdir ~/certificates
cd ~/certificates

2. Quindi, esegui il seguente openssl comando per generare una richiesta di firma del certificato (CSR) e una chiave privata.

openssl req -x509 -newkey rsa:4096 -keyout apache.key -out apache.crt -days 365 -nodes

3. Esegui i seguenti comandi per creare un'altra directory (/etc/apache2/ssl ) e sposta i certificati dal ~/certificates/ directory nel /etc/apache2/ssl directory.

mkdir /etc/apache2/ssl
mv ~/certificates/* /etc/apache2/ssl/.

4. Aprire il file di configurazione del sito Apache SSL predefinito (/etc/apache2/sites-available/default-ssl.conf ) e aggiungi le righe seguenti. Assicurati di sostituire con il nome effettivo del tuo server.

Nel codice seguente, specifichi il percorso (chiave e file del certificato) in cui hai precedentemente copiato i certificati SSL. Inoltre, per Jenkins reindirizzare sulla porta 9090 , aggiungerai il ProxyPass argomento e attiva il ProxyPreserveHost .

ServerName 
SSLCertificateFile    /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:9090/
ProxyPassReverse / http://127.0.0.1:9090/

5. Ora esegui ogni comando seguente per abilitare il modulo SSL, abilitare il sito che hai modificato (passaggio quattro) e riavviare il servizio Apache.

# Enable the SSL module, so you can work with SSL connections.
sudo a2enmod ssl proxy proxy_http proxy_balancer
# Enable the site you modified (step four)
sudo a2ensite default-ssl.conf
# Restart the Apache service
sudo service apache2 restart

6. Infine, vai alla tua istanza Jenkins, ma questa volta, utilizzando HTTPS, come mostrato di seguito.

Come puoi vedere, Jenkins si sta aprendo correttamente con connessioni SSL sulla porta HTTPS. Non preoccuparti se vedi un simbolo di avviso che mostra Non sicuro Messaggio. Riceverai questo avviso 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 Jenkins in modo sicuro.

Ora, come pensi di migliorare il tuo gioco con Jenkins? Forse automatizzare le implementazioni web? Oppure creare una pipeline di CD Jenkins CI per migliorare il processo di sviluppo del software?


Linux
  1. Come installare Java su Linux

  2. Come installare Java su Ubuntu

  3. Come installare Java su Ubuntu Linux

  4. Come installare Jenkins su Linux

  5. Come installare Java su Ubuntu 22.04

Come installare Java su Ubuntu 18.04

Come installare Java 14 su Linux, Ubuntu, CentOS

Come installare Rust su Ubuntu Linux

Come installare Jenkins su Ubuntu 18.04

Come installare Java su Ubuntu 18.04?

Come installare ClamAV su Ubuntu Linux