Installation d’un agent Jenkins et exécution d’un Job par l’agent

//Installation d’un agent Jenkins et exécution d’un Job par l’agent

jenkins s’est imposé comme un acteur incontournable de l’Intégration Continue et Déploiement en continue. Dans ce tutoriel, vous allez Installer jenkins et mettre en place une bonne pratique : exécuter les jobs Jenkins dans des Agents.

Contexte : Un host sur lequel il y a un Jenkins ‘master’ et une Machine virtuelle sur laquelle il y a un agent.

1) Télécharger la dernière version stable de Jenkins (package générique en .war) sur le host

Lancer : java -jar jenkins.war

Lancer un navigateur sur l’adresse http://localhost:8080/

Suivre les instructions en choisissant l’option d’installation personnalisée des plugins.

ça y est . Jenkins est installé. plus précisement c’est le noeud ‘master’ de Jenkins qui est installé.

BONNE PRATIQUE : exécuter les futurs Jobs Jenkins sur des Agents (noeuds Agents) afin de soulager le master qui est déja très occupé à gérer l’interface Jenkins.

Cela peut particulièrement être utile pour différentier différents environnements : dev , Tes, recette, préprod, prod

2) Créer une Machine virtuelle ubuntu (virtualbox)

INFO : carte réseau configurée en ‘Pont’ (et non en NAT comme par défaut) pour que le host et la VM se voient.

3) Valider l’installation d’un client et serveur SSH sur l’agent (https://www.youtube.com/watch?v=JZ7h5FxlTVg)

ssh
ssh localhost
sudo apt-get install openssh-server
ssh localhost

4) Valider la communication entre l’hôte et l’agent via SSH

Par exemple si le host est sous windows , avec putty.exe valider connexion ssh

5) Installer Jdk8 sur l’agent 

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

6) A partir de Jenkins , ajouter un Agent

puis

puis

puis

puis

EXPLICATION DE LA CONFIGURATION

  1. – Nom : nom de l’agent
  2. – Nombre d’exécutors (Ex : 2) : Nombre de job en parallèle que l’agent peut exécuter.
  3. – Remote root directory : répertoire de l’agent dans lequel seront stockés les fichiers de Jenkins (Jobs / workspace)
  4. – Etiquette (Label) : utilisé pour grouper un certain nombre d’agents dans un nom logique. Tous les agents qui auront ce label sont susceptible d’être sollicité pour exécuter un job affecté au nom du label (typiquement ds un pipeline label ‘ubuntu’
    Exemple : vous avez plusieurs agents ubuntu et vous souhaitez qu’un job soit exécuté sous ubuntu. Vous pouvez configurer tous vos agents ubuntu avec le label/etiquette ‘ubuntu’
  5. – Usage : quand utiliser cet agent ? dès que possible ou seulement lorsque le label ‘ubuntu’ est sollicité ?
  6. – Méthode de lancement : SSH
  7. – Host : ip de l’agent
  8. – Crédential : login/pwd du compte système de l’agent
  9. – Host key Verification Strategy : choisir ‘Manualy trusted key verification strategy’
  10. – Ne pas cocher ‘Require manual verification of initial connection’
  11. – Disponibilité : laisser par défaut ‘Keep this agent online as much as possible’
  12. – Propriétés du noeud : préférence d’outils de l’agent. Laisser par défaut.

– Enregistrer

7) Sélectionner l’agent et cliquer sur ‘Launch agent’ . Ceci va déclencher une communication SSH du maitre vers l’agent.

et plus bas dans les logs :

 

–> Sur le noeud, vérifier que le répertoire dédié aux fichiers de jenkins s’est rempli avec dossier ‘remoting’ et jar ‘remoting.jar’ (ou slave.jar)

BRAVO !

Dans jenkins désormais vous voyez le maitre et l’esclave (noeud)

Anlyser l’état du lanceur de compilation

Expliquez

Reste à créer un job et l’exécuter dans l’agent. Allons-y !

8) Créer un nouveau Job (freestyle) en imposant qu’il soit exécuté sur l’Agent

–> Sur le nœud, vérifier que le répertoire de jenkins s’est rempli avec dossier ‘workspace’ et un sous dossier correspondant au nom du Job

BRAVO !

puis plus bas

 

Lancer un build manuellement

 

Analysez le résultat

Bravo !

Tuto vidéo de référence

QUESTION : qu’est ce qu’un Pipeline ?

Analysez et expliquez l’arborescence suivante

Analysez et expliquez le contenu du Pipeline suivant

Exécuter ce Pipeline

LIENS UTILES

2018-11-08T08:25:35+01:00

Contactez nous

241 rue DUGUESCLIN, 69003 Lyon

Web : Objis : spécialiste formation Java