Jenkins est un outil d'automatisation open source populaire pour effectuer une intégration continue et une automatisation de la construction. Jenkins permet d'exécuter une liste prédéfinie d'étapes, par ex. pour compiler le code source golang pour créer un fichier binaire de construction. Le déclencheur de cette exécution peut être basé sur le temps ou sur un événement.
Les étapes possibles exécutées par Jenkins sont par exemple :
- Clonage du code à partir du système de contrôle source.
- exécuter une commande pour installer les dépendances nécessaires à l'exécution du code
- Exécuter des tests pour le logiciel
- construire le logiciel pour obtenir un exécutable
- Publier les résultats des tests
- publier le code binaire résultant
Jenkins surveille l'exécution des étapes et permet d'arrêter le processus, si l'une des étapes échoue. Jenkins peut également envoyer des notifications en cas de réussite ou d'échec d'une compilation.
Jenkins peut être étendu par des plug-ins supplémentaires. Par exemple, vous pouvez installer des plug-ins pour prendre en charge la création et le test d'applications Android.
Contenu associé
- Comment installer et configurer Jenkins dans Debian 11
- Comment installer et configurer Jenkins dans FreeBSD 13
- Comment installer et configurer Jenkins sur Ubuntu 20.04
- Comment installer et configurer Jenkins dans Fedora 35
Exigences
- Un système Linux avec un serveur Rocky Linux/CentOS 8 (au moins 2 Go de RAM)
- Un compte utilisateur avec des privilèges sudo ou root
- Accès à une fenêtre de terminal/ligne de commande
- Version Java récente installée
Table des matières
- S'assurer que le système est à jour
- Installer Java
- Installer Jenkins
- Démarrer et activer Jenkins
- Accéder à Jenkins
- Facultatif :Utiliser un playbook Ansible
1. S'assurer que le système est à jour
Assurez-vous que les packages système sont à jour à l'aide de cette commande :
sudo dnf -y update
Ensuite, installons les packages communs dont nous aurons besoin dans notre tutoriel
sudo dnf install -y curl vim wget
2. Installer Java
Dans cette section, nous allons installer Java sur notre système. Nous utiliserons la version openjdk de java. Dans Rocky Linux 8, pour vérifier quel logiciel fournit la ligne de commande Java, utilisez la commande suivante pour rechercher dnf search jdk
. Puisque Jenkins utilise Java version 11, nous ne pouvons pas filtrer le résultat à l'aide de 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
Nous pouvons voir que c'est jdk 11 qui est disponible en tant que java-11-openjdk
. Installez-le à l'aide de la commande
sudo dnf install -y java-11-openjdk
Confirmez la version installée à l'aide de cette commande :
$ 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. Installer Jenkins
Ajouter un référentiel Jenkins
Jenkins n'est pas inclus dans les référentiels de logiciels CentOS par défaut. Utilisez les commandes suivantes pour ajouter et importer la clé GPG afin de vous assurer que votre logiciel est légitime.
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
Installer Jenkins
S'il n'est pas encore installé, veuillez utiliser cette commande pour installer epel-release
. Ce dépôt contient certaines dépendances dont notre serveur Jenkins a besoin, comme daemonize
.
sudo dnf install epel-release
Utilisez la commande suivante pour installer jenkins
sudo dnf install jenkins
4. Démarrage et activation de jenkins
Maintenant que Jenkins est installé, démarrons-le en utilisant cette commande :
sudo systemctl start jenkins
Pour afficher l'état du service Jenkins, saisissez ce qui suit :
$ 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.
Veuillez vérifier que le statut est active (running)
pour savoir que l'installation a réussi.
Pour activer Jenkins au démarrage, utilisez ceci :
sudo systemctl enable jenkins
5. Accéder au serveur jenkins
Une fois installé, ouvrez le navigateur et accédez au jenkins sur l'url http://127.0.0.1:8080/
. Si vous exécutez sur un serveur distant, remplacez l'ip 127.0.0.1
avec l'ip de ce serveur.
Il vous sera demandé de fournir un mot de passe initial trouvé à cet emplacement /var/lib/jenkins/secrets/initialAdminPassword
. Obtenez-le en exécutant cette commande sur le serveur.
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
À partir de là, choisissez si vous souhaitez installer les plugins recommandés ou choisissez ce que vous souhaitez installer.
La dernière page vous permettra de configurer une configuration initiale pour l'utilisateur qui utilisera le serveur Jenkins.
6. Facultatif – Utilisation d'un playbook Ansible
Vous pouvez utiliser le playbook suivant pour accomplir la même tâche. Enregistrez-le dans un fichier comme install-jenkins.yaml
.
Pour exécuter le playbook :
- Assurez-vous qu'ansible est installé. Consultez le guide d'installation ici.
- Créer un fichier hosts avec les informations de connexion
- Exécutez la commande
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
Conclusion
Nous avons réussi à installer Jenkins sur le serveur Rocky Linux dans ce guide.