Blue Ocean Jenkins

Vous connaissez probablement Jenkins, cet automate OpenSource qui permet de définir une chaîne de compilation, tests et déploiement automatisée ? Jenkins est l'outil OpenSource le plus connu et utilisé aujourd'hui sur le marché. Malheureusement son IHM n'est pas tout le temps simple à appréhender, la configuration de jobs ne se fait pas de manière reproductible entre différents environnements.

Pour répondre à cette problématique, les Pipelines Jenkins ont été introduits dans la version 2 de Jenkins. Ces Pipelines permettent de décrire au sein d'un fichier Groovy l'ensemble des étapes qui seront utiles à la fabrication de votre logiciel. L'avantage avec les Pipelines est qu'il n'est plus nécessaire de configurer des jobs complexes dans Jenkins, cela se fait désormais au travers d'un fichier JenkinsFile présent directement dans votre code source.

Pour bien démarrer avec les Pipelines Jenkins, voici 5 ressources qui vous permettront de bien comprendre cet outil pour vos projets.

1- La présentation des Pipelines Jenkins en vidéo au Devfest

Voici la vidéo de la conférence de Jean-Philippe Briend (CloudBees) qui détaille l'utilisation des Pipelines qui seront au cœur de Jenkins 3 qui sortira l'année prochaine. Cette vidéo est une très bonne introduction de l'utilisation des Pipelines.

2- Installation de Jenkins sur votre environnement Windows

Vous avez vu la vidéo et vous souhaitez tester Jenkins Pipelines ? Une image Docker officielle vous permettra de démarrer un serveur Jenkins très rapidement sur votre environnement Windows :

$ docker pull jenkins
$ docker run -p 8080:8080 -p 50000:50000 jenkins

Une fois l'image démarrée, vous n'aurez plus qu'à vous rendre sur l'URL suivante via votre navigateur http://localhost:8080 pour accéder à l'interface de Jenkins. Si vous utilisez Boot2docker sous Windows, vous devrez utiliser la commande suivante pour connaitre l'IP de votre image Boot2docker afin de pouvoir vous connectez à l'interface d'administration de Jenkins :

$ boot2docker ip

3 - Exemples de Pipelines réutilisables

Des exemples de Pipelines sont mis à disposition sur l'espace GitHub Jenkins. Dans le répertoire "pipeline-examples", vous trouverez de nombreux exemples réutilisables pour votre projet :

  • ansi-color-build-wrapper
  • archive-build-output-artifacts
  • external-workspace-manager
  • get-build-cause
  • gitcommit
  • github-org-plugin
  • ircnotify-commandline
  • jobs-in-parallel
  • load-from-file
  • maven-and-jdk-specific-version
  • parallel-from-grep
  • parallel-from-list
  • parallel-multiple-nodes
  • push-git-repo
  • slacknotify
  • timestamper-wrapper
  • trigger-job-on-all-nodes
  • unstash-different-dir

Parmi ces exemples, vous remarquerez qu'il est possible d'intégrer facilement Slack à votre Pipeline, cela est d'autant plus facile via l'utilisation du plugin Slack pour Jenkins qui dispose de la propre instruction Jenkins Pipelines :

slackSend channel: '#jenkins-latest', color: 'good', message: 'Slack Message', teamDomain: 'beedemo', token: 'token'

4 - La documentation officielle

Une fois votre serveur démarré et un fichier JenkinsFile initialisé, voici les deux ressources très riches le sujet des Pipelines et la structuration du fichier JenkinsFile:

Vous vous posez des questions sur la syntaxe de certaines instructions ? Vous trouverez sur DZONE une Refcardz dédiée aux Jenkins Pipelines. C'est aujourd'hui la seule ressource sur Internet la plus complète pour appréhender la DSL Groovy Jenkins Pipelines. Elle détaille toutes les commandes standards fournies par Jenkins.

5 - Thème Jenkins Blue Ocean

Vous voilà prêt pour démarrer votre premier projet Jenkins Pipelines, n'oubliez pas d'installer le plugin Jenkins "Blue Ocean" pour bénéficier de la nouvelle interface Web Jenkins en version beta. Les développements de cette nouvelle interface ne sont pas encore terminés, mais elle offre une représentation visuelle intéressante des Pipelines réalisés.

Cette interface peut être facilement activée via la page d'administration des plugins Jenkins.

Vous voilà prêt, si vous rencontrez des difficultés, un tag "jenkins-pipeline" sur Stackoverflow vous permettra de probablement trouver des réponses à vos questions.

  • Check-list Docker : 10 questions à se poser avant de démarrer un projet

    De plus en plus de projets utilisent la conteneurisation comme outil d’accélération du déploiement de systèmes informatiques. Malheureusement ces nouvelles technologies autour de la conteneurisationsont pas sans impacts sur l'architecture de la solution mise en place et quand aux choix à réaliser avant de démarrer un projet. Voici un ensemble de questions que je juge pertinents de se poser avant de démarrer un projet avec des containers Docker. Les containers apportent de nouveaux paradigmes auxquels nous n'avons pas encore suffisamment de reculs pour adopter des réflexes naturels.

Twitter LToinel

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.