
Exemple 1 : Le Job "Freestyle" pour des tâches simples et scriptées
Découvrez le Job Freestyle de Jenkins pour automatiser des tâches simples et exécuter des scripts. Idéal pour débuter et comprendre les bases de l'automatisation CI/CD.
Le Job Freestyle : la porte d'entrée vers l'automatisation Jenkins
Le Job "Freestyle" est l'un des types de projets les plus fondamentaux et les plus accessibles dans Jenkins. Il est particulièrement bien adapté pour les utilisateurs qui débutent avec l'outil ou pour des besoins d'automatisation qui ne requièrent pas la complexité d'un pipeline complet. Sa configuration s'effectue principalement via l'interface utilisateur graphique de Jenkins, ce qui le rend intuitif pour des tâches simples et des exécutions de scripts.
Imaginez que vous ayez une tâche récurrente simple, comme nettoyer un répertoire temporaire, redémarrer un service applicatif sur un serveur de test, ou même simplement afficher un message de bienvenue. Le Job Freestyle est parfait pour ce genre de scénarios. Il vous permet de définir une séquence d'actions, appelées "Etapes de build" (Build Steps), qui seront exécutées par Jenkins.
Bien qu'il soit qualifié de "simple", le Job Freestyle offre une flexibilité considérable. Il peut s'intégrer avec des systèmes de gestion de code source (SCM) comme Git pour récupérer du code, être déclenché de diverses manières (manuellement, périodiquement, sur détection de changement dans le SCM), et exécuter une large gamme d'actions grâce à la richesse de l'écosystème de plugins Jenkins.
Configuration d'un Job Freestyle : un exemple concret "Hello Jenkins"
Pour illustrer le fonctionnement d'un Job Freestyle, prenons un exemple très simple : créer un Job qui affiche "Hello Jenkins!" dans la console de build, puis liste le contenu du répertoire de travail (workspace).
1. Création du Job :Depuis le tableau de bord Jenkins, cliquez sur "Nouveau Item" (ou "New Item"). Donnez un nom à votre projet, par exemple `MonPremierJobFreestyle`. Sélectionnez "Projet de type Freestyle" (ou "Freestyle project") et cliquez sur "OK".2. Configuration Générale (optionnel pour cet exemple) :
Dans la page de configuration du Job, vous pouvez ajouter une description. Pour cet exemple simple, nous n'avons pas besoin de configurer la gestion du code source ni les déclencheurs.3. Ajout des Etapes de Build :
C'est ici que nous définissons ce que le Job va faire. Descendez jusqu'à la section "Build" (ou "Build Steps" selon la version de Jenkins et les plugins installés). Cliquez sur le bouton "Ajouter une étape au build" (ou "Add build step") et sélectionnez "Exécuter un script shell" (ou "Execute shell" si votre Jenkins s'exécute sur un système Unix/Linux, ou "Execute Windows batch command" pour Windows).
Dans la zone de texte qui apparaît, saisissez les commandes suivantes :
echo "Hello Jenkins!"
echo "Contenu du répertoire de travail :"
ls -laCes commandes feront d'abord apparaître le message "Hello Jenkins!", puis afficheront une liste détaillée des fichiers et dossiers présents dans l'espace de travail du Job au moment de son exécution.
4. Sauvegarde et Exécution :Cliquez sur "Sauvegarder" (ou "Save"). Vous êtes redirigé vers la page principale de votre nouveau Job. Pour l'exécuter, cliquez sur "Lancer un build" (ou "Build Now") dans le menu de gauche.5. Analyse du Résultat :
Une fois le build terminé (cela devrait être très rapide), vous verrez apparaître un nouveau numéro de build dans la section "Historique des builds" (ou "Build History"). Cliquez sur ce numéro, puis sur "Sortie console" (ou "Console Output"). Vous devriez y retrouver les messages que nous avons demandés :
Started by user VotreNomDUtilisateur
Running as SYSTEM
Building in workspace /var/jenkins_home/workspace/MonPremierJobFreestyle
[MonPremierJobFreestyle] $ /bin/sh -xe /tmp/jenkins1234567890.sh
+ echo 'Hello Jenkins!'
Hello Jenkins!
+ echo 'Contenu du répertoire de travail :'
Contenu du répertoire de travail :
+ ls -la
total 8
drwxr-xr-x 2 jenkins jenkins 4096 Dec 15 10:00 .
drwxr-xr-x 3 jenkins jenkins 4096 Dec 15 10:00 ..
Finished: SUCCESSCet exemple, bien que basique, illustre parfaitement le concept du Job Freestyle : une configuration guidée par l'interface pour exécuter des tâches scriptées. Vous pouvez imaginer des scripts plus complexes, interagissant avec des fichiers, des API, ou d'autres outils en ligne de commande. Le Job Freestyle reste un excellent choix pour automatiser des tâches d'administration système, des petits scripts utilitaires ou pour prototyper rapidement une action avant de l'intégrer potentiellement dans un pipeline plus structuré.
Quand utiliser un Job Freestyle ? Avantages et limitations
Le Job Freestyle est particulièrement pertinent dans les situations suivantes :
- Tâches simples et uniques : Pour des actions qui ne nécessitent pas une orchestration complexe, comme l'exécution d'un script de maintenance.
- Prototypage rapide : Pour tester rapidement une commande ou une séquence de commandes avant de l'intégrer dans un pipeline.
- Familiarisation avec Jenkins : C'est un excellent point de départ pour comprendre les mécanismes de base de Jenkins (déclencheurs, étapes de build, workspace, logs).
- Utilisation de plugins spécifiques : Certains plugins Jenkins plus anciens ou très spécifiques pourraient offrir une meilleure intégration ou une interface de configuration plus directe via un Job Freestyle.
Cependant, le Job Freestyle présente certaines limitations, surtout lorsque la complexité de l'automatisation augmente :
- Configuration via l'interface : La configuration est stockée dans les fichiers XML de Jenkins sur le serveur master, et non avec votre code source. Cela rend le versionnement, la revue de code des modifications de build, et la reproductibilité plus difficiles que l'approche "Pipeline as Code".
- Moins adapté aux workflows complexes : Pour des processus CI/CD avec de multiples étapes, des conditions, des parallélisations, ou une gestion d'erreurs sophistiquée, les pipelines sont nettement supérieurs.
- Maintenance à grande échelle : Gérer des dizaines ou des centaines de Jobs Freestyle configurés individuellement via l'interface peut devenir fastidieux.
En résumé, le Job Freestyle est un outil précieux dans la boîte à outils Jenkins, idéal pour sa simplicité et sa rapidité de mise en oeuvre pour des tâches ciblées. Pour des processus d'intégration et de déploiement continus robustes et évolutifs, l'approche Pipeline sera généralement préférée, comme nous le verrons par la suite.