Configuration de Projets Freestyle de Base

JenkinsBeginner
Pratiquer maintenant

Introduction

Bienvenue dans ce laboratoire sur la configuration des projets Freestyle de base dans Jenkins. Le projet Freestyle est une option très flexible et facile à utiliser dans Jenkins, adaptée à tout type de projet. Il vous permet de configurer des déclencheurs de construction (build triggers), des étapes de construction (build steps) et des actions post-construction (post-build actions) via une interface graphique basée sur le web.

Dans ce laboratoire, vous apprendrez à :

  • Ajouter des étapes de construction basées sur des commandes shell à un projet.
  • Planifier l'exécution automatique des constructions à l'aide de déclencheurs.
  • Archiver les artefacts de construction pour une utilisation ultérieure.
  • Configurer des actions post-construction comme le nettoyage de l'espace de travail (workspace cleanup).

Une instance Jenkins est déjà en cours d'exécution, et un projet Freestyle de base nommé sample-project a été créé pour vous. Vous pouvez accéder à l'interface web de Jenkins en ouvrant le navigateur Firefox sur le bureau. Le navigateur s'ouvrira automatiquement sur http://localhost:8080, vous n'avez donc pas besoin de saisir l'URL manuellement. Aucune connexion (login) n'est requise.

Ajouter une Étape de Build

Dans cette étape, vous allez ajouter une étape de construction (build step) à votre projet Freestyle. Les étapes de construction sont le cœur d'un projet, définissant les actions que Jenkins exécutera, telles que la compilation du code, l'exécution des tests ou l'exécution de scripts shell.

Tout d'abord, naviguons vers la page de configuration du projet.

  1. Ouvrez le navigateur Firefox depuis l'interface de bureau. Le navigateur s'ouvrira automatiquement sur http://localhost:8080, vous n'avez donc pas besoin de saisir manuellement l'URL. Aucune connexion n'est requise.
  2. Sur le tableau de bord Jenkins, vous verrez le sample-project. Cliquez sur son nom pour accéder à la page du projet.
  3. Dans le menu de gauche, cliquez sur Configure.
Jenkins project page

Vous êtes maintenant sur la page de configuration du projet. Ajoutons une étape de construction.

  1. Faites défiler jusqu'à la section Build Steps.
  2. Cliquez sur le bouton déroulant Add build step et sélectionnez Execute shell.
Build Steps section
  1. Une zone de texte apparaîtra. Entrez les commandes suivantes dans la boîte Command :
echo "Building the project..."
date
echo "Build complete."
  1. Cliquez sur le bouton Save en bas de la page.

Vous avez maintenant configuré une étape de construction. Exécutons la construction pour la voir en action.

  1. Sur la page du projet, cliquez sur Build Now dans le menu de gauche.
  2. Une nouvelle construction apparaîtra dans la section Build History. Cliquez sur le numéro de construction (par exemple, #1).
  3. Dans le menu de gauche de cette construction, cliquez sur Console Output.

Vous verrez la sortie des commandes shell que vous avez ajoutées, confirmant que votre étape de construction a été exécutée avec succès.

Started by user admin
Running as SYSTEM
Building in workspace /var/jenkins_home/workspace/sample-project
[sample-project] $ /bin/sh -xe /tmp/jenkins12345.sh
+ echo 'Building the project...'
Building the project...
+ date
Tue Jan 1 12:00:00 UTC 2024
+ echo 'Build complete.'
Build complete.
Finished: SUCCESS

Planifier des Builds avec des Déclencheurs

Dans cette étape, vous apprendrez à planifier l'exécution automatique des builds à l'aide de déclencheurs de build. C'est une fonctionnalité fondamentale pour l'intégration continue, vous permettant d'exécuter des builds périodiquement.

  1. Revenez à la page de configuration du sample-project (Page du projet > Configure).
  2. Trouvez la section Build Triggers.
  3. Cochez la case à côté de Build periodically.
Build Triggers section
  1. Une zone de texte Schedule apparaîtra. Ce champ utilise la syntaxe cron pour définir la planification. La syntaxe se compose de 5 champs séparés par des espaces : MINUTE HEURE JOURDU MOIS MOIS JOURDELASEMAINE.
  2. Pour exécuter le build environ toutes les minutes, entrez ce qui suit dans le champ Schedule :
* * * * *

Cette expression cron signifie "exécuter chaque minute". Bien que Jenkins prenne en charge le symbole H pour la distribution de charge, H/1 * * * * s'exécute en fait une fois par heure, et non chaque minute. Pour une exécution réelle chaque minute, utilisez * * * * *.

  1. Cliquez sur Save.

Jenkins déclenchera désormais automatiquement un nouveau build pour sample-project environ une fois par minute. Vous pouvez l'observer en consultant l'historique des builds (Build History) sur la page du projet.

Archiver les Artefacts de Build

Dans cette étape, vous apprendrez à archiver les artefacts de build. Les artefacts sont les fichiers de sortie produits par un build, tels que les binaires compilés ou les rapports. Leur archivage les rend disponibles au téléchargement une fois le build terminé.

Tout d'abord, nous devons modifier notre étape de build pour créer un fichier que nous pouvons archiver.

  1. Naviguez vers la page de configuration du sample-project.
  2. Faites défiler jusqu'à la section Build Steps et trouvez votre boîte de commande Execute shell.
  3. Ajoutez une nouvelle ligne au script pour créer un fichier nommé build-info.txt. La variable $BUILD_NUMBER est une variable d'environnement fournie par Jenkins qui contient le numéro de build actuel.
echo "Building the project..."
date
echo "Build complete."
echo "This artifact is from build #$BUILD_NUMBER" > build-info.txt

Ensuite, configurons une action post-build pour archiver ce fichier.

  1. Faites défiler vers le bas jusqu'à la section Post-build Actions.
  2. Cliquez sur le menu déroulant Add post-build action et sélectionnez Archive the artifacts.
Add post-build action dropdown
  1. Dans le champ Files to archive, entrez le nom du fichier que vous souhaitez archiver : build-info.txt. Vous pouvez également utiliser des jokers comme **/*.jar pour archiver plusieurs fichiers.
  2. Cliquez sur Save.

Maintenant, exécutez un nouveau build en cliquant sur Build Now. Une fois le build terminé :

  1. Cliquez sur le dernier numéro de build dans la section Build History.
  2. Sur la page d'état du build, vous verrez une section appelée Build Artifacts avec un lien vers build-info.txt. Vous pouvez cliquer dessus pour afficher ou télécharger le fichier.
Completed build page

Configurer le Nettoyage de l'Espace de Travail

Dans cette dernière étape de configuration, vous ajouterez une action post-build pour nettoyer l'espace de travail. C'est une bonne pratique pour économiser de l'espace disque et s'assurer que chaque build démarre dans un environnement propre, évitant ainsi les interférences des fichiers générés lors des builds précédents.

  1. Allez à la page de configuration du sample-project.
  2. Faites défiler jusqu'à la section Post-build Actions.
  3. Cliquez sur le menu déroulant Add post-build action et sélectionnez Delete workspace when build is done.
Add post-build action dropdown
  1. Cliquez sur Save.

Désormais, après chaque build du sample-project, Jenkins supprimera tous les fichiers du répertoire de l'espace de travail. Notez que les artefacts archivés sont stockés séparément et ne sont pas affectés par le nettoyage de l'espace de travail. Cela garantit que vos artefacts de build restent disponibles tout en maintenant l'environnement de build propre pour la prochaine exécution.

Résumé

Félicitations pour avoir terminé ce laboratoire. Vous avez acquis les bases de la configuration d'un projet Freestyle Jenkins.

Dans ce laboratoire, vous avez pratiqué :

  • L'ajout d'une commande Execute shell comme étape de build.
  • La configuration d'un Build Trigger pour planifier des builds périodiquement en utilisant la syntaxe cron.
  • La création et l'archivage des artefacts de build.
  • La configuration d'une Post-build Action pour supprimer l'espace de travail après un build.

Ce sont des compétences essentielles pour automatiser vos processus de build, de test et de déploiement avec Jenkins. Vous pouvez maintenant appliquer ces concepts pour créer et gérer vos propres pipelines CI/CD.