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é.
Détails de la formation
Méthodes et outils pédagogiques
Noot : propre plateforme de visioconférence
Explication avec des exemples concrets à l'aide de schémas (live coding)
Objectifs de la formation
Comprendre les principes de l'intégration continue en vue de son implémentation
Intégrer Jenkins avec les autres outils
Mettre en place un serveur Jenkins automatisant les build
Automatiser les tests, les audits de code et les déploiements sur la plateforme d'intégration Jenkins
Méthodes d'évaluation
Quiz
Travaux pratiques
Les plus
Des formateurs certifiés et reconnus dans leurs domaines
Pré-requis
Connaissance du langage Java et notions du cycle de développement
Modalités d'enseignement
En présentiel
En distanciel
Public cible
Tous publics
Programme
1
Introduction
- Chaîne d’intégration continue, 7 étapes d’élaboration
- Rôle du serveur
- Historique Jenkins / Hudson
2
Commencer avec le serveur
- Préparation, installation et configuration de l’environnement
- Installer Jenkins sur Debian / Ubuntu, en tant que service Windows
- Utiliser Jenkins à travers Apache
- Configuration de base
- Réaliser un premier Build
3
Configurer le serveur Jenkins
- Tableau de bord de configuration
- Configurer le système
- Configuration d’un serveur de Mail
- Ajout de variables d’environnement
- Configuration globale des outils
- Configuration de Maven et du JDK
- Configurer un Proxy
4
Présentation des jobs
- Concept de Job Jenkins
- Configurer le gestionnaire de source
- Les triggers et les étapes
- Actions post-build
5
Automatiser les tests
- Automatiser les tests unitaires, d’intégration
- Configurer les rapports
- Mesure de la couverture de test avec Cobertura et Clover
- Optimisation des temps d’exécution des tests
6
Sécurité
- Activation de la sécurité
- Realms : Royaumes pour la sécurité
- Base de données Jenkins
- Annuaire LDAP
- Microsoft Active Directory
- Utilisateurs et groupes Unix
- Conteneur de Servlet
- Autorisations
- Sécurité basé sur une matrice
- Sécurité basée sur le projet
- Sécurité basée sur les rôles
- Garder la trace des actions utilisateur
7
Les notifications
Mail,IRC, SMS
8
La qualité du code
- Intégrer la qualité dans le processus de build
- Outils d’analyse (Checkstyle, FindBugs, CPD/PMD)
- Checkstyle
- FindBug
- Plugin Violations
- Rapport de complexité et sur les tâches ouvertes
- Outil Sonar
9
Build avancés
- Tâches de build paramétrées
- Déclencheurs paramétrés
- Tâches de build multi configuration
- Coordonner vos builds
- Pipeline de build et promotion
- Vue pipeline de build
10
Le déploiement
- Mettre à jour les bases de données
- Retour en arrière
- Déploiement de l’application sur Tomcat
11
Administration
- Gérer l’espace disque
- Monitoring de la charge CPU
- Sauvegarder