GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer Jenkins Automation Server avec Apache sur Ubuntu 18.04

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 stable de Jenkins sur Ubuntu Server 18.04 LTS (Bionic Beaver). Nous exécuterons Jenkins sur notre propre nom de domaine, et nous installerons et configurerons Jenkins pour qu'il s'exécute sous le proxy inverse du serveur Web Apache.

Prérequis

  • Ubuntu 18.04
  • Privilèges root

Qu'allons-nous faire ?

  1. Installer Java
  2. Installer Jenkins
  3. Installer et configurer Apache2 en tant que proxy inverse pour Jenkins
  4. Configurer le pare-feu UFW
  5. Configurer Jenkins
  6. Sécurité Jenkins
  7. Test

Étape 1 - Installer Java

Jenkins est une application basée sur Java, nous devons donc installer Java OpenJDK sur le serveur. Dans cette étape, nous installerons Java 8 à partir d'un référentiel PPA que nous ajouterons en premier.

Installez les packages software-properties-common, puis ajoutez le référentiel java OpenJDK PPA.

sudo apt install software-properties-common apt-transport-https -y
sudo add-apt-repository ppa:openjdk-r/ppa -y

Installez maintenant Java 8 à l'aide de la commande apt.

sudo apt install openjdk-8-jdk -y

Une fois l'installation terminée, vérifiez la version de Java installée sur le système.

java -version

Et vous obtiendrez que Java OpenJDK 1.8 est maintenant installé sur le système Ubuntu 18.04.

Remarque :

  • Si vous avez plusieurs versions de Java sur votre système, modifiez la version de Java par défaut à l'aide de la commande ci-dessous.
sudo update-alternatives --config java

É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

Maintenant, mettez à jour le dépôt et installez Jenkins.

sudo apt update
sudo apt install jenkins -y

Lorsque l'installation est terminée, démarrez le service Jenkins et ajoutez-le au temps de démarrage.

systemctl start jenkins
systemctl enable jenkins

Jenkins est maintenant opérationnel sur le serveur Ubuntu 18.04, fonctionnant sur le port par défaut '8080'. Vérifiez-le en utilisant netstat comme ci-dessous.

netstat -plntu

Et vous obtiendrez le résultat ci-dessous.

Étape 3 - Installer et configurer Apache2 en tant que proxy inverse pour Jenkins

Dans ce tutoriel, nous exécuterons Jenkins derrière un serveur Web Apache, nous configurerons apache comme proxy inverse pour Jenkins.

Nous allons d'abord installer Apache et activer certains modules requis, puis nous créerons le fichier d'hôte virtuel avec le nom de domaine jenkins.hakase-labs.io 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.

sudo apt install apache2 -y

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 pour Jenkins 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        jenkins.hakase-labs.io
    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 quittez, puis activez l'hôte virtuel Jenkins avec la commande a2ensite.

a2ensite jenkins

Redémarrez les services Apache et Jenkins.

systemctl restart apache2
systemctl restart jenkins

L'installation et la configuration d'apache2 en tant que proxy inverse pour Jenkins sont terminées.

Étape 4 - Configurer le pare-feu UFW

Avant d'activer le pare-feu UFW sur le serveur Ubuntu, nous devons ajouter le port des services de base tels que SSH, HTTP et HTTPS.

Ajoutez les services SSH, HTTP et HTTPS au pare-feu ufw.

ufw allow ssh
ufw allow http
ufw allow https

Maintenant, démarrez et activez le pare-feu ufw.

ufw enable

tapez 'y' et appuyez sur Entrée.

Le pare-feu UFW est maintenant activé et le port HTTP a été ajouté.

Étape 5 - Configurer Jenkins

Jenkins s'exécute sur le nom de domaine 'http://jenkins.hakase-labs.io'. 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

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.

Une fois l'installation des plugins terminée, 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 continuer".

Pour la configuration de l'instance, tapez le nom de domaine Jenkins 'http://jenkins.hakase-labs.io' et cliquez sur le bouton 'Enregistrer et terminer'.

Cliquez maintenant sur le bouton "Commencer à utiliser Jenkins".

Et vous serez redirigé vers le tableau de bord d'administration de Jenkins.

L'installation et la configuration de Jenkins ont été effectuées avec succès

Étape 6 - Sécurité Jenkins

Depuis le tableau de bord d'administration de Jenkins, nous devons configurer les paramètres de sécurité standard pour Jenkins, cliquer sur "Gérer Jenkins" puis sur "Configurer la sécurité globale".

Jenkins fournit plusieurs méthodes d'autorisation dans la section 'Contrôle d'accès'. Nous utiliserons la "sécurité basée sur la matrice", afin de pouvoir contrôler tous les privilèges des utilisateurs.

Ajoutez l'utilisateur 'hakase' dans la case 'Utilisateur/Groupe' et cliquez sur ajouter.

Donnez tous les privilèges à l'utilisateur "hakase" en cochant toutes les options, puis cliquez sur le bouton "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 7 - Tester

Dans cette section, nous souhaitons créer une tâche simple pour le serveur Jenkins. Nous allons 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".

Tapez le nom du travail. Nous allons utiliser 'Vérifier le système' ici, sélectionner 'Projet Freestyle' et cliquer sur 'OK'.

Allez dans l'onglet "Construire". Dans 'Ajouter une étape de construction', 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 'Build Now' pour exécuter la tâche 'checking system'.

Une fois le travail exécuté, vous verrez l'historique de construction, cliquez sur le premier travail pour voir les résultats.

Voici les résultats du travail exécuté par Jenkins.

L'installation et la configuration de l'outil d'automatisation Jenkins avec Apache2 en tant que proxy inverse sur Ubuntu 18.04 se sont terminées avec succès.

Références

  • https://wiki.jenkins.io/
  • https://wiki.jenkins.io/Standard+Security+Setup
  • https://jenkins-le-guide-complet.github.io/

Ubuntu
  1. Comment installer WordPress avec Apache sur Ubuntu 18.04

  2. Comment installer Joomla avec Apache sur Ubuntu 18.04

  3. Comment installer Laravel sur Ubuntu 18.04 avec Apache

  4. Comment installer Jenkins sur Ubuntu 18.04

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

Comment installer FileRun sur Ubuntu 20.04 avec Apache/Nginx

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

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 Drupal sur un serveur Ubuntu 20.04 avec Apache