Jenkins è un server di automazione open source che aiuta gli sviluppatori ad automatizzare il processo di sviluppo del software, inclusi build, test e distribuzione. Jenkins ti consente di gestire e monitorare eventuali modifiche al codice in GitHub, Bitbucket o GitLab e creare il codice automaticamente utilizzando strumenti come Maven e Gradle. Utilizzando Jenkins, puoi distribuire in modo efficiente il lavoro su più macchine.
In questa guida, ti mostreremo come installare Jenkins su Ubuntu 20.04.
Prerequisiti
- Un Ubuntu 20.04 VPS (useremo il nostro piano SSD 2 VPS)
- Accesso all'account utente root (o accesso a un account amministratore con privilegi root)
Passaggio 1:accedi al server e aggiorna i pacchetti del sistema operativo del server
Innanzitutto, accedi al tuo server Ubuntu 20.04 tramite SSH come utente root:
ssh root@IP_Address -p Port_number
Dovrai sostituire "IP_Address" e "Port_number" con il rispettivo indirizzo IP e numero di porta SSH del tuo server. Inoltre, se necessario, sostituisci "root" con il nome utente dell'account amministratore.
Prima di iniziare, devi assicurarti che tutti i pacchetti del sistema operativo Ubuntu installati sul server siano aggiornati. Puoi farlo eseguendo i seguenti comandi:
apt-get update -y apt-get upgrade -y
Fase 2:installa Java
Jenkins è un'applicazione basata su Java. Quindi Java deve essere installato nel tuo sistema se non è installato puoi installarlo usando il seguente comando:
apt-get install default-jdk -y
Questo installerà la versione 11 di Java nel tuo sistema. Puoi verificare la versione Java con il seguente comando:
java -version
Dovresti ottenere il seguente output:
openjdk version "11.0.9.1" 2020-11-04 OpenJDK Runtime Environment (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04) OpenJDK 64-Bit Server VM (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04, mixed mode, sharing)
Passaggio 3:installa Jenkins
Per impostazione predefinita, Jenkins non è disponibile nel repository standard di Ubuntu, quindi dovrai aggiungere il repository jenkins al tuo sistema.
Innanzitutto, installa le dipendenze necessarie con il seguente comando:
apt-get install apt-transport-https gnupg2 -y
Quindi, scarica e aggiungi la chiave GPG con il seguente comando:
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | apt-key add -
Quindi, aggiungi il repository Jenkins con il seguente comando:
sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
Una volta aggiunto il repository, aggiorna la cache del repository e installa Jenkins con il seguente comando:
apt-get update -y apt-get install jenkins -y
Dopo aver installato Jenkins, verifica lo stato di Jenkins utilizzando il comando seguente:
systemctl status jenkins
Dovresti ottenere il seguente output:
● jenkins.service - LSB: Start Jenkins at boot time Loaded: loaded (/etc/init.d/jenkins; generated) Active: active (exited) since Mon 2020-12-21 05:34:22 UTC; 6s ago Docs: man:systemd-sysv-generator(8) Tasks: 0 (limit: 2353) Memory: 0B CGroup: /system.slice/jenkins.service Dec 21 05:34:20 ubuntu2004 systemd[1]: Starting LSB: Start Jenkins at boot time... Dec 21 05:34:21 ubuntu2004 jenkins[15472]: Correct java version found Dec 21 05:34:21 ubuntu2004 jenkins[15472]: * Starting Jenkins Automation Server jenkins Dec 21 05:34:21 ubuntu2004 su[15526]: (to jenkins) root on none Dec 21 05:34:21 ubuntu2004 su[15526]: pam_unix(su-l:session): session opened for user jenkins by (uid=0) Dec 21 05:34:21 ubuntu2004 su[15526]: pam_unix(su-l:session): session closed for user jenkins Dec 21 05:34:22 ubuntu2004 jenkins[15472]: ...done. Dec 21 05:34:22 ubuntu2004 systemd[1]: Started LSB: Start Jenkins at boot time.
Jenkins è ora in esecuzione e in ascolto sulla porta 8080. Puoi verificarlo con il seguente comando:
ss -antpl | grep 8080
Dovresti ottenere il seguente output:
LISTEN 0 50 *:8080 *:* users:(("java",pid=15539,fd=141))
Passaggio 4:configura Nginx come proxy inverso per Jenkins
È una buona idea usare Nginx come proxy inverso per accedere a Jenkins. Per farlo, installa Nginx usando il seguente comando:
apt-get install nginx -y
Una volta installato nginx, crea un file di configurazione Nginx con il seguente comando:
nano /etc/nginx/conf.d/jenkins.conf
Aggiungi le seguenti righe:
upstream jenkins { keepalive 32; server 127.0.0.1:8080; } # Required for Jenkins websocket agents map $http_upgrade $connection_upgrade { default upgrade; '' close; } server { listen 80; server_name jenkins.domain.com; # this is the jenkins web root directory # (mentioned in the /etc/default/jenkins file) root /var/run/jenkins/war/; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; # pass through headers from Jenkins that Nginx considers invalid ignore_invalid_headers off; location ~ "^/static/[0-9a-fA-F]{8}\/(.*)$" { rewrite "^/static/[0-9a-fA-F]{8}\/(.*)" /$1 last; } location /userContent { root /var/lib/jenkins/; if (!-f $request_filename){ #this file does not exist, might be a directory or a /**view** url rewrite (.*) /$1 last; break; } sendfile on; } location / { sendfile off; proxy_pass http://jenkins; proxy_redirect default; proxy_http_version 1.1; # Required for Jenkins websocket agents proxy_set_header Connection $connection_upgrade; proxy_set_header Upgrade $http_upgrade; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_max_temp_file_size 0; #this is the maximum upload size client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffering off; proxy_request_buffering off; # Required for HTTP CLI commands proxy_set_header Connection ""; # Clear for keepalive } }
Salva e chiudi il file, quindi verifica la configurazione di Nginx utilizzando il seguente comando:
nginx -t
Dovresti ottenere il seguente output:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Infine, riavvia il servizio Nginx con il seguente comando:
systemctl restart nginx
Fase 5:accedi a Jenkins
Ora apri il tuo browser web e accedi all'interfaccia web di Jenkins utilizzando l'URL http://jenkins.domain.com
. Dovresti vedere la seguente pagina:
Ora apri il tuo terminale e stampa la password Jenkins usando il seguente comando:
cat /var/lib/jenkins/secrets/initialAdminPassword
Dovresti ottenere la password dell'amministratore Jenkins nel seguente output:
00c7fa4f27c142a3ab8e6867eddb1bdd
Quindi, torna alla tua interfaccia web e incolla la password sopra e fai clic su Continua pulsante. Dovresti vedere la seguente schermata:
Fai clic su installa plug-in suggeriti pulsante. Una volta installati tutti i plugin, dovresti ottenere la seguente pagina:
Fornisci il nome utente, la password, l'e-mail desiderati e fai clic su Salva e continua pulsante. Dovresti vedere la seguente pagina:
Fornisci l'URL del tuo sito web Jenkins e fai clic su Salva e termina pulsante. Dovresti vedere la seguente pagina:
Fai clic su Inizia a utilizzare Jenkins . Dovresti vedere la dashboard predefinita di Jenkins nella pagina seguente:
Ovviamente, non devi fare nulla di tutto ciò se utilizzi uno dei nostri servizi di hosting VPS Jenkins gestito, nel qual caso puoi semplicemente chiedere ai nostri esperti amministratori Linux di configurarlo per te. Sono disponibili 24 ore su 24, 7 giorni su 7 e si prenderanno immediatamente cura della tua richiesta.
PS. Se questo post ti è piaciuto condividilo con i tuoi amici sui social network utilizzando i pulsanti a sinistra o semplicemente lascia una risposta qui sotto. Grazie.