Ce tutoriel existe pour ces versions d'OS
- Ubuntu 20.04 (focal Fossa)
- Ubuntu 18.04 (castor bionique)
- Ubuntu 16.04 (Xenial Xerus)
Sur cette page
- Prérequis
Jenkins est un serveur d'automatisation dérivé du projet Hudson. Jenkins est une application basée sur un serveur qui s'exécute dans un conteneur de servlets Java. Elle prend en charge de nombreux systèmes logiciels SCM (Source Control Management), notamment Git, SVN et Mercurial. Jenkins fournit des centaines de plugins pour automatiser votre projet. Jenkins créé par Kohsuke Kawaguchi, publié pour la première fois en 2011 sous licence MIT, et c'est un logiciel gratuit.
Dans ce tutoriel, je vais vous montrer comment installer la dernière version de Jenkins sur Ubuntu Server 16.04. Nous exécuterons Jenkins sur notre propre nom de domaine, et nous installerons et configurerons Jenkins pour qu'il s'exécute sous le serveur Web apache avec le proxy inverse pour Jenkins.
Prérequis
- Serveur Ubuntu 16.04 - 64 bits
- Privilèges racine
Étape 1 - Installer Java OpenJDK 7
Jenkins est basé sur Java, nous devons donc installer Java OpenJDK version 7 sur le serveur. Dans cette étape, nous allons installer Java 7 à partir d'un dépôt PPA que nous ajouterons en premier.
Par défaut, Ubuntu 16.04 est livré sans le package python-software-properties pour la gestion des référentiels PPA, nous devons donc d'abord installer ce package. Installez python-software-properties avec la commande apt.
apt-get install python-software-properties
Ensuite, ajoutez le référentiel Java PPA au serveur.
add-apt-repository ppa:openjdk-r/ppa
Just Press ENTER
Mettez à jour le référentiel Ubuntu et installez Java OpenJDK avec la commande apt.
apt-get update
apt-get install openjdk-7-jdk
Vérifiez l'installation en tapant la commande ci-dessous :
java -version
et vous obtiendrez la version Java installée sur le serveur.
Étape 2 - Installer Jenkins
Jenkins fournit un référentiel Ubuntu pour les packages d'installation et nous installerons Jenkins à partir de ce référentiel.
Ajoutez la clé et le référentiel Jenkins au système avec la commande ci-dessous.
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
echo 'deb https://pkg.jenkins.io/debian-stable binary/' | tee -a /etc/apt/sources.list
Mettez à jour le dépôt et installez Jenkins.
apt-get update
apt-get install jenkins
Une fois l'installation terminée, démarrez Jenkins avec cette commande systemctl.
systemctl start jenkins
Vérifiez que Jenkins est en cours d'exécution en vérifiant le port par défaut utilisé par Jenkins (port 8080). Je vais le vérifier avec la commande netstat ci-dessous :
netstat -plntu
Jenkins est installé et fonctionne sur le port 8080.
Étape 3 - Installer et configurer Apache en tant que proxy inverse pour Jenkins
Dans ce tutoriel, nous allons exécuter Jenkins derrière un serveur Web apache, nous allons configurer apache comme proxy inverse pour Jenkins. Je vais d'abord installer apache et activer certains modules requis, puis je créerai le fichier d'hôte virtuel avec le nom de domaine my.jenkins.id pour Jenkins. Veuillez utiliser votre propre nom de domaine ici et le remplacer dans tous les fichiers de configuration où qu'il apparaisse.
Installez le serveur Web apache2 à partir du référentiel Ubuntu.
apt-get install apache2
Une fois l'installation terminée, activez les modules proxy et proxy_http afin que nous puissions configurer apache en tant que serveur frontal/proxy inverse pour Jenkins.
a2enmod proxy
a2enmod proxy_http
Ensuite, créez un nouveau fichier d'hôte virtuel dans le répertoire sites-available.
cd /etc/apache2/sites-available/
vim jenkins.conf
Collez la configuration de l'hôte virtuel ci-dessous.
<Virtualhost *:80>
ServerName my.jenkins.id
ProxyRequests Off
ProxyPreserveHost On
AllowEncodedSlashes NoDecode
<Proxy http://localhost:8080/*>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://localhost:8080/ nocanon
ProxyPassReverse / http://localhost:8080/
ProxyPassReverse / http://my.jenkins.id/
</Virtualhost>
Enregistrez le fichier. Activez ensuite l'hôte virtuel Jenkins avec la commande a2ensite.
a2ensite jenkins
Redémarrez Apache et Jenkins.
systemctl restart apache2
systemctl restart jenkins
Vérifiez que les ports 80 et 8000 sont utilisés par Jenkins et Apache.
netstat -plntu
Étape 4 - Configurer Jenkins
Jenkins s'exécute sur le nom de domaine 'my.jenkins.id'. Ouvrez votre navigateur Web et saisissez l'URL. Vous obtiendrez l'écran qui vous demandera d'entrer le mot de passe administrateur initial. Un mot de passe a déjà été généré par Jenkins, il nous suffit donc d'afficher et de copier les résultats dans la zone de mot de passe.
Afficher le mot de passe administrateur initial Jenkins avec la commande cat.
cat /var/lib/jenkins/secrets/initialAdminPassword
a1789d1561bf413c938122c599cf65c9
Collez les résultats à l'écran et cliquez sur 'Continuer '.
Nous devons maintenant installer quelques plugins dans Jenkins pour obtenir une bonne base pour une utilisation ultérieure. Choisissez 'Installer les plugins suggérés ', cliquez dessus.
Installations des plugins Jenkins en cours.
Après l'installation du plugin, nous devons créer un nouveau mot de passe administrateur. Saisissez votre nom d'utilisateur, votre mot de passe, votre adresse e-mail, etc., puis cliquez sur "Enregistrer et terminer '.
Cliquez sur Démarrer et commencez à utiliser Jenkins. Vous serez redirigé vers le tableau de bord d'administration de Jenkins.
L'installation et la configuration de Jenkins se sont terminées avec succès
Étape 5 - Sécurité Jenkins
Depuis le tableau de bord d'administration de Jenkins, nous devons configurer les paramètres de sécurité standard pour Jenkins, cliquez sur 'Gérer Jenkins ' puis 'Configurer la sécurité globale '.
Jenkins fournit plusieurs méthodes d'autorisation dans le 'Contrôle d'accès ' section. Je sélectionne 'Sécurité basée sur la matrice ' pour pouvoir contrôler tous les privilèges des utilisateurs. Activez l'utilisateur admin dans la case 'Utilisateur/Groupe ' et cliquez sur ajouter . Accordez tous les privilèges à l'administrateur en cochant toutes les options , et accordez à l'anonyme juste lire les autorisations. Cliquez maintenant sur 'Enregistrer '.
Vous serez redirigé vers le tableau de bord, et s'il y a une option de connexion, tapez simplement votre utilisateur administrateur et votre mot de passe.
Étape 6 - Tester une tâche d'automatisation simple
Dans cette section, je veux juste tester un travail simple pour le serveur Jenkins. Je vais créer un travail simple pour tester Jenkins et connaître la charge du serveur avec la commande top.
Dans le tableau de bord d'administration de Jenkins, cliquez sur 'Créer un nouveau travail '.
Entrez le nom du travail, j'utiliserai "Système de vérification" ici, sélectionnez "Projet Freestyle ' et cliquez sur 'OK '.
Allez dans 'Construire ' onglet. À l'étape 'Ajouter une étape de compilation ', sélectionnez l'option 'Exécuter le shell '.
Tapez la commande ci-dessous dans la case.
top -b -n 1 | head -n 5
Cliquez sur 'Enregistrer '.
Vous êtes maintenant sur la page de travail du travail 'Système de vérification de projet'. Cliquez sur 'Créer maintenant ' pour exécuter la tâche 'vérification du système'.
Une fois la tâche exécutée, vous verrez l'Historique de compilation ', cliquez sur la première tâche pour voir les résultats.
Voici les résultats du travail exécuté par Jenkins.
L'installation de Jenkins avec le serveur Web Apache sur Ubuntu 16.04 s'est terminée avec succès.