Jenkins est un serveur d'automatisation open source qui permet aux développeurs du monde entier de créer, tester et déployer leurs logiciels de manière fiable. Il s'agit d'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 FreeBSD 13
- Comment installer et configurer Jenkins dans Fedora 35
- Comment installer et configurer Jenkins dans Rocky Linux/Centos 8
Exigences
- Un système Linux avec un serveur Ubuntu 20.04 (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 :Accéder à Jenkins à l'aide d'un domaine
1. S'assurer que le système est à jour
Avant de continuer, assurez-vous que votre système dispose de packages mis à jour. Utilisez cette commande pour y parvenir :
sudo apt update
sudo apt upgrade -y
2. Installer Java
Assurez-vous que Java fonctionne comme prévu. Tapez cette commande pour vérifier la version Java
java -version
Si cette commande génère une erreur, vous devez installer l'environnement d'exécution Java.
sudo apt install -y default-jre
3. Installer Jenkins
Ajoutez d'abord la clé à votre système :
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
Ajoutez ensuite l'entrée suivante dans votre /etc/apt/sources.list
:
deb https://pkg.jenkins.io/debian-stable binary/
Mettez à jour votre index de packages local, puis installez enfin Jenkins :
sudo apt-get update
sudo apt-get install jenkins
4. Démarrage et activation de jenkins
Assurez-vous que Jenkins s'accorde comme prévu en vérifiant l'état du service systemd
sudo systemctl status jenkins
Vous devriez voir quelque chose comme ceci :
● 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. Accéder à Jenkins
Accédez au serveur jenkins en utilisant l'adresse IP publique sur le port 8080. Si vous accédez au serveur jenkins localement, utilisez http://localhost:8080
Obtenir l'ip publique de jenkins
curl -4 icanhazip.com
Vous pouvez ensuite accéder à http://public_ip:8080
6. Facultatif :Accéder à Jenkins à l'aide d'un nom de domaine
Si vous souhaitez accéder à jenkins en utilisant un nom de domaine, vous pouvez utiliser quelque chose comme nginx pour proxy le trafic. Nginx vous permet de proxy le trafic et de terminer ssl si besoin est.
Installer nginx
sudo apt install -y nginx
Assurez-vous que nginx est en cours d'exécution
sudo systemctl status nginx
Créez un serveur nginx pour jenkins dans /etc/nginx/conf.d
avec le contenu à diffuser :
Fichier /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;
}
}
Redémarrez nginx :
sudo systemctl restart nginx
Mappez le A
enregistrement du domaine your.domain.com
à l'adresse IP de votre serveur et vous devriez pouvoir y accéder en utilisant http://your.domain.com
7. Configuration de jenkins
La première fois que vous accédez au serveur jenkins en utilisant le domaine, vous serez accueilli par un écran de démarrage vous demandant de déverrouiller jenkins avec un mot de passe administrateur à partir de ce chemin /var/lib/jenkins/secrets/initialAdminPassword
dans le serveur.
Obtenez le mot de passe en tapant ceci
cat /var/lib/jenkins/secrets/initialAdminPassword
Après avoir entré le mot de passe, vous serez redirigé vers la page d'installation du plugin. Vous avez la possibilité d'installer des plugins courants ou de choisir les plugins à installer.
Je préfère toujours choisir les plugins personnalisés que je veux installer afin d'avoir le contrôle sur les plugins installés et ceux qui ne le sont pas.
Une fois l'installation du plugin terminée, vous serez redirigé vers une page pour créer Jenkins First User. Je crée toujours un utilisateur administrateur, puis je choisis un mot de passe fort.
Après cela, assurez-vous que l'URL correcte est définie dans la dernière page de la page de configuration de l'instance. Après cela, vous serez redirigé vers la page du tableau de bord Jenkins.
À partir de là, vous pouvez créer des tâches Jenkins et utiliser Jenkins comme vous le feriez.