Jenkins è un server di automazione open source che consente agli sviluppatori di tutto il mondo di creare, testare e distribuire in modo affidabile il proprio software. È un popolare strumento di automazione open source per eseguire l'integrazione continua e costruire l'automazione. Jenkins consente di eseguire un elenco predefinito di passaggi, ad es. per compilare il codice sorgente di Golang per creare un file binario di compilazione. Il trigger per questa esecuzione può essere basato sull'ora o sull'evento.
I possibili passaggi eseguiti da Jenkins sono ad esempio:
- Clonazione del codice dal sistema di controllo del codice sorgente.
- esegui un comando per installare le dipendenze necessarie per l'esecuzione del codice
- Esegui test per il software
- crea il software per ottenere un eseguibile
- Pubblica i risultati dei test
- pubblica il codice binario risultante
Jenkins controlla l'esecuzione dei passaggi e consente di interrompere il processo, se uno dei passaggi non riesce. Jenkins può anche inviare notifiche in caso di successo o errore di compilazione.
Jenkins può essere esteso con plug-in aggiuntivi. Ad esempio, puoi installare plug-in per supportare la creazione e il test di applicazioni Android.
Contenuti correlati
- Come installare e configurare Jenkins in FreeBSD 13
- Come installare e configurare Jenkins in Fedora 35
- Come installare e configurare Jenkins in Rocky Linux/Centos 8
Requisiti
- Un sistema Linux con server Ubuntu 20.04 (almeno 2 GB di RAM)
- Un account utente con privilegi sudo o root
- Accesso a una finestra di terminale/riga di comando
- Versione Java recente installata
Indice dei contenuti
- Assicurarsi che il sistema sia aggiornato
- Installa Java
- Installa Jenkins
- Avvio e abilitazione di jenkins
- Accesso a Jenkins
- Facoltativo:accesso a jenkins utilizzando un dominio
1. Garantire che il sistema sia aggiornato
Prima di procedere, assicurati che il tuo sistema abbia aggiornato i pacchetti. Usa questo comando per ottenere questo:
sudo apt update
sudo apt upgrade -y
2. Installa Java
Assicurati che Java funzioni come previsto. Digita questo comando per verificare la versione java
java -version
Se quel comando genera un errore, devi installare java runtime env.
sudo apt install -y default-jre
3. Installa Jenkins
Per prima cosa aggiungi la chiave al tuo sistema:
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
Quindi aggiungi la seguente voce nel tuo /etc/apt/sources.list
:
deb https://pkg.jenkins.io/debian-stable binary/
Aggiorna l'indice del tuo pacchetto locale, quindi installa infine Jenkins:
sudo apt-get update
sudo apt-get install jenkins
4. Avvio e abilitazione di jenkins
Assicurati che jenkins si stia sintonizzando come previsto controllando lo stato del servizio systemd
sudo 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 2021-07-31 17:22:57 UTC; 5s ago
Docs: man:systemd-sysv-generator(8)
Process: 18175 ExecStart=/etc/init.d/jenkins start (code=exited, status=0/SUCCESS)
Jul 31 17:22:55 frhb64566ds systemd[1]: Starting LSB: Start Jenkins at boot time...
Jul 31 17:22:55 frhb64566ds jenkins[18175]: Correct java version found
Jul 31 17:22:55 frhb64566ds jenkins[18175]: * Starting Jenkins Automation Server jenkins
Jul 31 17:22:55 frhb64566ds su[18214]: (to jenkins) root on none
Jul 31 17:22:55 frhb64566ds su[18214]: pam_unix(su-l:session): session opened for user jenkins by (uid=0)
Jul 31 17:22:56 frhb64566ds su[18214]: pam_unix(su-l:session): session closed for user jenkins
Jul 31 17:22:57 frhb64566ds jenkins[18175]: ...done.
Jul 31 17:22:57 frhb64566ds systemd[1]: Started LSB: Start Jenkins at boot time.
5. Accesso a Jenkins
Accedi al server jenkins utilizzando l'ip pubblico sulla porta 8080. Se stai accedendo al server jenkins in locale, usa http://localhost:8080
Ottieni l'ip pubblico jenkins
curl -4 icanhazip.com
Puoi quindi accedere a http://public_ip:8080
6. Facoltativo:accedere a jenkins utilizzando un nome di dominio
Se vuoi accedere a jenkins usando un nome di dominio, puoi usare qualcosa come nginx per proxy del traffico. Nginx ti consente di inoltrare il traffico e terminare SSL se necessario.
Installa nginx
sudo apt install -y nginx
Assicurati che nginx sia in esecuzione
sudo systemctl status nginx
Crea un server nginx per jenkins in /etc/nginx/conf.d
con il contenuto da servire:
File /etc/nginx/conf.d/jenkins.conf
server {
listen 80;
listen [::]:80;
server_tokens off;
server_name your.domain.com;
## Deny illegal Host headers
if ($host !~* ^(your.domain.com)$ ) {
return 444;
}
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_connect_timeout 60s;
proxy_send_timeout 60s;
proxy_read_timeout 60s;
}
}
Riavvia nginx:
sudo systemctl restart nginx
Mappa il A
record del dominio your.domain.com
all'indirizzo IP del tuo server e dovresti essere in grado di accedervi utilizzando http://your.domain.com
7. Configurazione di jenkin
La prima volta che accedi al server jenkins utilizzando il dominio, verrai accolto da una schermata introduttiva che ti chiede di sbloccare jenkins con una password amministratore da questo percorso /var/lib/jenkins/secrets/initialAdminPassword
nel server.
Ottieni la password digitando questo
cat /var/lib/jenkins/secrets/initialAdminPassword

Dopo aver inserito la password, verrai indirizzato alla pagina di installazione del plug-in. Hai la possibilità di installare plugin comuni o scegliere quali plugin installare.
Preferisco sempre scegliere i plug-in personalizzati che voglio installare, quindi ho il controllo su quali plug-in sono installati e cosa no.

Una volta completata l'installazione del plug-in, verrai reindirizzato a una pagina per creare Jenkins First User. Creo sempre un utente amministratore, quindi scelgo una password complessa.

Dopodiché, assicurati che l'URL corretto sia impostato nell'ultima pagina della pagina di configurazione dell'istanza. Dopo questo verrai reindirizzato alla pagina del dashboard di jenkins.
Da qui puoi creare lavori jenkins e utilizzare jenkins come faresti.