TD07 - Automatiser l'ensemble des actions manuelle avec Jenkins

Publié le : 24 Janvier 2020 08:30

À propos de Jenkins

jenkins.jpg

Jenkins est un outil open source d'intégration continue, fork de l'outil Hudson après les différends entre son auteur, Kohsuke Kawaguchi, et Oracle. Écrit en Java, Jenkins fonctionne dans un conteneur de servlets tel qu’Apache Tomcat, ou en mode autonome avec son propre serveur Web embarqué.Il s'interface avec des systèmes de gestion de versions tels que CVS, Git et Subversion, et exécute des projets basés sur Apache Ant et Apache Maven aussi bien que des scripts arbitraires en shell Unix ou batch Windows.Les générations de projets peuvent être initiées par différents moyens, tels que des mécanismes de planification similaires au cron, des systèmes de dépendances entre générations, ou par des requêtes sur certaines URL spécifiques.

Infrastructure

Infrastructure réseau

Jenkins va permettre de piloter l'ensemble des autres containeurs.

Objectif

Pour cela, vous devrez configurer Jenkins pour communiquer avec l'ensemble des autres composants

Taches

  • [ ] Mettre en place le réseau ci-dessus
  • [ ] Configurer Jenkins pour qu'il communique avec l'ensemble des autres containeurs
  • [ ] Configurer Jenkins pour qu'il lance une tache lors d'un commit
  • [ ] Mettre en place la publication des tests unitaires lors l'un commit
  • [ ] Mettre en place une création automatique d'archive Debian lors d'un commit
  • [ ] Mettre en place l'automatisation des tests fonctionnels
  • [ ] mettre en place une alarme si lors d'un commit la couverture de test est < 90%

Conseil

  • Configurer le proxy ESIEE dans Jenkins pour télécharger les modules

Rappel

L'adresse du proxy ESIEE est cache.esiee.fr et le port est 3128

Ressource

Quelques conseils :

Pour accéder au conteneur en root :

1 # connection en root au conteneur
2 docker exec -ti -u root jenkins bash
 Retour