GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer Jenkins Automation Server avec Apache sur Ubuntu 20.04

Jenkins est un serveur d'automatisation gratuit et open source qui aide les développeurs à créer, tester et déployer leurs logiciels. Il est basé sur Java et fournit plus de 1700 plugins qui aident à automatiser les tâches répétitives impliquées dans le processus de développement logiciel. Il prend en charge plusieurs systèmes d'exploitation tels que Windows, Mac OS X et Linux, et peut facilement être distribué sur plusieurs machines.

Dans ce tutoriel, nous allons vous montrer comment installer Jenkins avec Apache en tant que proxy inverse sur Ubuntu 20.04.

Prérequis

  • Un serveur exécutant Ubuntu 20.04.
  • Un mot de passe root est configuré sur le serveur.

Mise en route

Avant de commencer, c'est une bonne idée de mettre à jour votre système avec la dernière version. Vous pouvez mettre à jour votre système avec la commande suivante :

apt-get update -y
apt-get upgrade -y

Après avoir mis à jour le système, redémarrez-le pour appliquer les modifications.

Installer Java

Jenkins est basé sur Java, donc Java doit être installé sur votre système. S'il n'est pas installé, vous pouvez l'installer en exécutant la commande suivante :

apt-get install openjdk-11-jdk gnupg2 -y

Une fois installé, vérifiez la version installée de Java avec la commande suivante :

java -version

Vous devriez obtenir le résultat suivant :

openjdk version "11.0.8" 2020-07-14
OpenJDK Runtime Environment (build 11.0.8+10-post-Ubuntu-0ubuntu120.04)
OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Installer Jenkins

Par défaut, la dernière version de Jenkins n'est pas disponible dans le référentiel par défaut d'Ubuntu 20.04. Vous devrez donc ajouter le référentiel Jenkins à votre système.

Tout d'abord, téléchargez et ajoutez la clé GPG avec la commande suivante :

wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | apt-key add -

Ensuite, ajoutez le référentiel Jenkins à l'APT avec la commande suivante :

sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'

Ensuite, mettez à jour le référentiel et installez la dernière version de Jenkins avec la commande suivante :

apt-get update -y
apt-get install jenkins -y

Une fois l'installation réussie, vérifiez l'état de Jenkins avec la commande suivante :

systemctl status jenkins

Vous devriez voir le résultat suivant :

? jenkins.service - LSB: Start Jenkins at boot time
     Loaded: loaded (/etc/init.d/jenkins; generated)
     Active: active (exited) since Sun 2020-08-09 12:50:35 UTC; 44s ago
       Docs: man:systemd-sysv-generator(8)
      Tasks: 0 (limit: 2353)
     Memory: 0B
     CGroup: /system.slice/jenkins.service

Aug 09 12:50:34 ubuntu2004 systemd[1]: Starting LSB: Start Jenkins at boot time...
Aug 09 12:50:34 ubuntu2004 jenkins[6134]: Correct java version found
Aug 09 12:50:34 ubuntu2004 jenkins[6134]:  * Starting Jenkins Automation Server jenkins
Aug 09 12:50:34 ubuntu2004 su[6180]: (to jenkins) root on none
Aug 09 12:50:34 ubuntu2004 su[6180]: pam_unix(su-l:session): session opened for user jenkins by (uid=0)
Aug 09 12:50:34 ubuntu2004 su[6180]: pam_unix(su-l:session): session closed for user jenkins
Aug 09 12:50:35 ubuntu2004 jenkins[6134]:    ...done.
Aug 09 12:50:35 ubuntu2004 systemd[1]: Started LSB: Start Jenkins at boot time.

À ce stade, Jenkins est en cours d'exécution et écoute sur le port 8080. Vous pouvez le vérifier avec la commande suivante :

netstat -plntu | grep 8080

Vous devriez voir le résultat suivant :

tcp6       0      0 :::8080                 :::*                    LISTEN      6192/java  

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Configurer Apache en tant que proxy inverse

Ensuite, vous devrez installer et configurer Apache en tant que proxy inverse pour Jenkins. Vous pouvez donc accéder au Jenkins via le port 80.

Tout d'abord, installez le serveur Web Apache avec la commande suivante :

apt-get install apache2 -y

Après avoir installé le serveur Web Apache, activez les modules requis avec la commande suivante :

a2enmod proxy
a2enmod proxy_http

Ensuite, créez un fichier de configuration d'hôte virtuel Apache pour Jenkins avec la commande suivante :

nano /etc/apache2/sites-available/jenkins.conf

Ajoutez les lignes suivantes :

<Virtualhost *:80>
    ServerName        jenkins.example.com
    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://jenkins.hakase-labs.io/
</Virtualhost>

Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, activez le fichier de configuration de l'hôte virtuel Apache avec la commande suivante :

a2ensite jenkins

Ensuite, redémarrez le service Apache et Jenkins pour appliquer les modifications :

systemctl reload apache2
systemctl restart jenkins

Vous pouvez maintenant vérifier l'état du service Apache avec la commande suivante :

systemctl status apache2

Vous devriez obtenir le résultat suivant :

? apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
           ??apache2-systemd.conf
   Active: active (running) since Sun 2020-08-10 12:41:30 UTC; 22min ago
  Process: 15407 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/SUCCESS)
 Main PID: 14417 (apache2)
    Tasks: 11 (limit: 1114)
   CGroup: /system.slice/apache2.service
           ??14417 /usr/sbin/apache2 -k start
           ??15412 /usr/sbin/apache2 -k start
           ??15413 /usr/sbin/apache2 -k start
           ??15414 /usr/sbin/apache2 -k start
           ??15416 /usr/sbin/apache2 -k start
           ??15417 /usr/sbin/apache2 -k start
           ??15418 /usr/sbin/apache2 -k start
           ??15419 /usr/sbin/apache2 -k start
           ??15420 /usr/sbin/apache2 -k start
           ??15422 /usr/sbin/apache2 -k start
           ??15429 /usr/sbin/apache2 -k start

Aug 10 12:41:29 ubuntu20.04 systemd[1]: Starting The Apache HTTP Server...

À ce stade, le serveur Web Apache est configuré pour servir Jenkins. Vous pouvez maintenant passer à l'étape suivante.

Remarque :si vous vous connectez à Jenkins via Internet, il est recommandé de sécuriser les connexions avec SSL/TLS. Pour activer SSL via Let's Encrypt à l'aide de certbot pour l'interface Web Jenkins, jetez un œil ici :

https://www.howtoforge.com/how-to-manage-lets-encrypt-ssl-tls-certificates-with-certbot/

Accéder à l'interface Web de Jenkins

Maintenant, ouvrez votre navigateur Web et tapez l'URL http://jenkins.example.com. Il vous sera demandé de saisir le mot de passe administrateur initial comme indiqué ci-dessous :

Vous pouvez voir le mot de passe administrateur initial de Jenkins avec la commande suivante :

cat /var/lib/jenkins/secrets/initialAdminPassword

Vous devriez voir le mot de passe Jenkins dans la sortie suivante :

78d6b10330434b27a09590fc781c9e6d

Tapez le mot de passe de la sortie ci-dessus dans l'écran de connexion et cliquez sur Continuer bouton. Vous serez redirigé vers l'écran de personnalisation de Jenkins :

Sélectionnez l'option souhaitée et cliquez dessus. Vous devriez voir l'écran d'installation des plugins Jenkins en cours :

Une fois tous les plugins installés avec succès, vous devriez voir l'écran suivant :

Indiquez votre nom d'utilisateur, votre mot de passe, votre adresse e-mail et cliquez sur Enregistrer et continuer bouton. Vous devriez voir l'écran suivant :

Tapez votre URL Jenkins et cliquez sur Enregistrer et terminer bouton. Vous devriez voir l'écran suivant :

Cliquez sur "Commencer à utiliser Jenkins ". Vous devriez voir le tableau de bord Jenkins dans l'écran suivant :

Ensuite, vous devrez configurer les paramètres de sécurité standard pour Jenkins.

Dans le volet de gauche, cliquez sur Gérer Jenkins => Configurer la sécurité globale . Vous devriez voir l'écran suivant :

Maintenant, sélectionnez Sécurité basée sur la matrice , ajoutez votre utilisateur, accordez tous les privilèges et cliquez sur Enregistrer bouton.

Tester Jenkins

À ce stade, Jenkins est installé et configuré. il est temps de créer un exemple de tâche et de tester la fonctionnalité Jenkins.

Sur le tableau de bord Jenkins, cliquez sur Créer un nouveau travail bouton. Vous devriez voir l'écran suivant :

Indiquez le nom de votre travail, sélectionnez Projet Freestyle et cliquez sur OK bouton. Vous devriez voir l'écran suivant :

Maintenant, cliquez sur Construire languette. À l'étape "Ajouter une étape de compilation ", sélectionnez l'option "Exécuter shel l" et tapez"free -m " dans la boîte de commande. Cliquez ensuite sur Enregistrer bouton. Vous devriez voir l'écran suivant :

Maintenant, cliquez sur "Construire maintenant " dans le volet de gauche pour exécuter le Job. Une fois le Job exécuté, vous devriez voir la sortie de la console du Job exécuté par Jenkins dans l'écran suivant :

Conclusion

Toutes nos félicitations! vous avez installé avec succès Jenkins avec Apache sur le serveur Ubuntu 20.04. Vous pouvez maintenant utiliser Jenkins dans l'environnement de développement pour accélérer le processus de développement. N'hésitez pas à me demander si vous avez des questions.


Ubuntu
  1. Comment installer WordPress avec Apache sur Ubuntu 18.04

  2. Comment installer Jenkins Automation Server avec Apache sur Ubuntu 16.04

  3. Comment installer Jenkins Automation Server avec Nginx sur CentOS 7

  4. Comment installer Apache Maven sur Ubuntu 20.04

  5. Comment installer Apache ZooKeeper sur Ubuntu 20.04

Comment installer InvoiceNinja sur le serveur Ubuntu 20.04 avec Apache/Nginx

Comment installer phpMyAdmin avec Apache sur Ubuntu 22.04 LTS

Comment installer le serveur Web Apache sur Ubuntu 18.04

Comment installer le serveur Apache Tomcat sur Ubuntu 22.04

Comment installer Drupal sur un serveur Ubuntu 20.04 avec Apache

Comment installer Jenkins sur Ubuntu 18.04