Jenkins è un popolare strumento di automazione opensource 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 Debian 11
- Come installare e configurare Jenkins in FreeBSD 13
- Come installare e configurare Jenkins su Ubuntu 20.04
- Come installare e configurare Jenkins in Fedora 35
Requisiti
- Un sistema Linux con server Rocky Linux/CentOS 8 (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:utilizzo di un playbook Ansible
1. Garantire che il sistema sia aggiornato
Assicurati che i pacchetti di sistema siano aggiornati usando questo comando:
sudo dnf -y update
Quindi, installiamo i pacchetti comuni di cui avremo bisogno nel nostro tutorial
sudo dnf install -y curl vim wget
2. Installa Java
In questa sezione installeremo java sul nostro sistema. Useremo la versione openjdk di java. In Rocky Linux 8, per verificare quale software fornisce la riga di comando java, utilizzare il comando seguente per cercare dnf search jdk
. Poiché Jenkins utilizza Java versione 11, non possiamo filtrare il risultato utilizzando grep.
# dnf search jdk | grep 11
Last metadata expiration check: 0:03:42 ago on Wed 24 Nov 2021 06:10:29 AM EAT.
java-11-openjdk.x86_64 : OpenJDK 11 Runtime Environment
java-11-openjdk-demo.x86_64 : OpenJDK 11 Demos
java-11-openjdk-devel.x86_64 : OpenJDK 11 Development Environment
java-11-openjdk-headless.x86_64 : OpenJDK 11 Headless Runtime Environment
java-11-openjdk-javadoc.x86_64 : OpenJDK 11 API documentation
java-11-openjdk-javadoc-zip.x86_64 : OpenJDK 11 API documentation compressed in a single archive
java-11-openjdk-jmods.x86_64 : JMods for OpenJDK 11
java-11-openjdk-src.x86_64 : OpenJDK 11 Source Bundle
java-11-openjdk-static-libs.x86_64 : OpenJDK 11 libraries for static linking
Possiamo vedere che jdk 11 è disponibile come java-11-openjdk
. Installalo usando il comando
sudo dnf install -y java-11-openjdk
Conferma la versione installata utilizzando questo comando:
$ java -version
openjdk version "11.0.13" 2021-10-19 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.13+8-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.13+8-LTS, mixed mode, sharing)
3. Installa Jenkins
Aggiungi repository jenkins
Jenkins non è incluso nei repository software CentOS predefiniti. Usa i seguenti comandi per aggiungere e importare la chiave GPG per assicurarti che il tuo software sia legittimo.
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
Installa jenkins
Se non è ancora installato, usa questo comando per installare epel-release
. Questo repository contiene alcune dipendenze di cui il nostro server jenkins ha bisogno come daemonize
.
sudo dnf install epel-release
Usa il comando seguente per installare jenkins
sudo dnf install jenkins
4. Avvio e abilitazione di jenkins
Ora che jenkins è installato, avviamolo usando questo comando:
sudo systemctl start jenkins
Per visualizzare lo stato del servizio Jenkins, inserisci quanto segue:
$ sudo systemctl status jenkins
● jenkins.service - LSB: Jenkins Automation Server
Loaded: loaded (/etc/rc.d/init.d/jenkins; generated)
Active: active (running) since Wed 2021-11-24 06:23:59 EAT; 4s ago
Docs: man:systemd-sysv-generator(8)
Process: 64639 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=0/SUCCESS)
Tasks: 37 (limit: 23168)
Memory: 241.4M
CGroup: /system.slice/jenkins.service
└─64645 /etc/alternatives/java -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins ->
Nov 24 06:23:59 cloudsrv.citizix.com systemd[1]: Starting LSB: Jenkins Automation Server...
Nov 24 06:23:59 cloudsrv.citizix.com jenkins[64639]: Starting Jenkins [ OK ]
Nov 24 06:23:59 cloudsrv.citizix.com systemd[1]: Started LSB: Jenkins Automation Server.
Verifica che lo stato sia active (running)
per sapere che l'installazione è andata a buon fine.
Per abilitare Jenkins all'avvio, usa questo:
sudo systemctl enable jenkins
5. Accesso al server jenkins
Una volta installato, apri il browser e vai a jenkins sull'URL http://127.0.0.1:8080/
. Se stai utilizzando un server remoto, sostituisci l'ip 127.0.0.1
con l'ip di quel server.
Ti verrà chiesto di fornire una password iniziale trovata in questa posizione /var/lib/jenkins/secrets/initialAdminPassword
. Ottienilo eseguendo questo comando sul server.
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
Da qui scegli se vuoi installare i plugin consigliati o scegli cosa vuoi installare.
L'ultima pagina ti consentirà di configurare alcune configurazioni iniziali per l'utente che utilizzerà il server jenkins.
6. Facoltativo:utilizzo di un playbook Ansible
Puoi utilizzare il seguente playbook per eseguire la stessa attività. Salvalo in un file come install-jenkins.yaml
.
Per eseguire il playbook:
- Assicurati che ansible sia installato. Consulta la guida per l'installazione qui.
- Crea un file hosts con informazioni sulla connessione
- Esegui il comando
ansible-playbook -i <hosts-file-path> install-jenkins.yaml -vvv
- name: Install jenkins on centos 8
hosts: jenkins-srv
become: yes
gather_facts: False
tasks:
- name: Install required packages
dnf:
name:
- wget
state: latest
- name: Install java
dnf:
name: java-1.8.0-openjdk-1:1.8.0.275.b01-1.el8_3.x86_64
state: latest
- name: Add jenkins repository
shell: |
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
args:
warn: no
- name: Install jenkins
dnf:
name: jenkins
state: latest
- name: Start jenkins service
systemd:
name: jenkins
state: started
- name: Enable jenkins service
systemd:
name: jenkins
enabled: yes
Conclusione
In questa guida siamo riusciti a installare Jenkins nel server Rocky Linux.