La construction d’une infrastructure DevOps entière peut sembler intimidante quand vous regardez l’ensemble des systèmes d’information dont disposent déjà la plupart des entreprises. C’est pourquoi il est important de décomposer les processus d’entreprise en plusieurs étapes et d’appliquer les meilleurs outils Devops adaptés à chaque étape.

Qu’est-ce que Devops signifie ?

Les entreprises de logiciels deviennent de plus en plus importantes et omniprésentes dans la chaine de valeurs de toutes les entreprises. Dans ce contexte, les modèles traditionnels de développement ne résistent pas aux environnements à forte demande et à forte croissance.

Traditionnellement, les équipes Développement et Opérations ont l’habitude de travailler séparément dans des silos, ce qui entrave la capacité d’agir rapidement suite à des changements ou urgences opérationnelles. La réponse à cette relation litigieuse a été un mouvement appelé DevOps. C’est un terme fantaisiste pour une idée simple :

Une approche permettant de réunir deux fonctions clés de la DSI d’une entreprise chargée du développement d’applications. D’un côté, vous avez terme le “Dev” représentant les équipes de développeurs et de l’autre, vous avez le terme “Ops” représentant les équipes d’exploitation des systèmes d’information (Operations en anglais).

L’objectif de DevOps est que les équipes de développement et d’exploitation travaillent mieux ensemble.

Définition et objectif de DevOps

Voyons donc comment il est possible de créer une infrastructure devops avec Atlassian.

Outils pour la documentation

Si votre équipe travaille dans un environnement agile, il est important de fournir régulièrement des retours d’information et feedbacks aux équipes de développement. Pour ce faire, les interactions entre le Product Owner et les développeurs peuvent être facilitées de plusieurs façons.

Jira Software offre à l’entreprise plusieurs fonctionnalités intéressantes, notamment :

  • Un Backlog Scrum où on est capable de peaufiner et de classer les Stories par ordre de priorité.
  • La création et le lancement des Sprints en quelques clics.
  • Des tableaux agiles qui s’adaptent à votre processus de développement.
  • Des rapports détaillant le travail effectué (notamment les rapports de Sprint).
DevOps et le rôle de confluence
Infrastructure DevOps – Création dune anomalie sur Jira Software

Dans tout cela, Confluence a un rôle très important. Il permet en effet de rendre le tout encore plus organisé. Vous n’aurez plus besoin de chercher parmi les piles de mails pour trouver les informations que vous recherchez, grâce à cette fonctionnalité. Tout les ressources sont centralisées sur Confluence et directement liées au projet de développement.

Outils pour lancer une release

Lorsque les développeurs, le Scrum Master et le Product Owner valident ensemble les fonctionnalités de la nouvelle version et acceptent de le livrer en production, c’est alors que nous parlons de “lancer une release”.

Dans cette phase l’équipe réalise simplement les manipulations suivantes :

  • Créer une branche de diffusion de la branche de développement qui prend son nom à partir du numéro de version (par exemple : 2.5). Pour ce faire, il suffit de remplir des champs vides avec des informations utiles.
  • Le même numéro de version dans la release du projet Jira relie toutes les Stories de ce sprint, et potentiellement le sprint précédent également s’il n’a pas été publié.
DevOps - numéro de release avec toutes les informations des stories du sprint

Les actions ci-dessus sont simples – il suffit de se faire guider par le processus de saisie des informations. Il est possible de définir la portée fonctionnelle de la version à la fois dans Jira et Bitbucket, facilitant ainsi le travail pour la documentation (où nous recommandons Confluence) et pour le Product Owner qui pourrait exécuter les tests. Si des anomalies sont détectées, elles peuvent facilement être inclus dans la même version.

Outils d’automatisation Devops pour le déploiement continu

Et voilà que l’outil Bamboo entre en jeu ! Grâce à l’intégration avec Bitbucket et Jira Software, nous pouvons automatiser plusieurs tâches rébarbatives qui prenaient beaucoup de temps pour les développeurs.

Construction du livrable (build) avec Bamboo

Pour gérer les builds des nouvelles version, Atlassian a opté pour une seule version avec un seul déploiement. Cela simplifie la configuration et rend ainsi l’utilisation et la gestion des versions plus gérable.

Dans ce plan de build, un script vérifie le type de branche sur lequel le commit a été réalisé et effectue certaines actions:

  • La branche de développement agit comme la branche de base. À chaque commit, le plan de construction est lancé pour chaque commit afin de créer le livrable.
  • Un plan est créé manuellement pour la branche master. Lorsqu’un commit est détecté sur cette branche, le livrable est créé et publié.
  • Un plan est créé automatiquement pour chaque branche.  Une compilation du projet et un examen du code sont effectués après chaque commit sur une de ces branches.
  • Un plan est créé automatiquement pour chaque branche de version et hotfix. Ces plans sont lancés manuellement par les développeurs pour créer le livrable.

Trouver les meilleurs outils Devops pour vos besoins

Il est crucial de disposer des bons outils Devops lors de la transition vers l’approche Agile, telles que : la livraison continue, le déploiement continu ou bien l’intégration continue. Et c’est sur ce point que la suite Atlassian excelle vraiment. Les intégrations entre les applications simplifient le processus tout entier. Indépendamment de l’évolution de vos besoins et de votre équipe, la documentation est toujours hébergée dans Confluence et liée à Jira. 

Tout au long du cycle de développement, le travail effectué sur l’ensemble des activités réalisé pour chaque User Story (code, build et déploiement) est enregistré en temps réel et de manière consistante et organisée. Tout peut donc être suivi et retrouvé sans effort, ce qui permet à chaque membre d’équipe d’orienter et de concentrer ses efforts sur son expertise métier et son rôle à jouer pour la réussite des projets.

Cependant, il n’y a pas de garantie qu’une méthodologie Devops sera adoptée, même lorsque les bons outils seront installés. Il est impératif de définir les processus appropriés que les outils et les gens mettront en œuvre. Cela repose sur une communication solide au sein de l’équipe, qui peuvent être facilitées par des ateliers Agiles et des rencontres périodiques avec tous les interlocuteurs concernés. Cela permet de résoudre rapidement les obstacles techniques et fonctionnels.

Concevoir et bâtir correctement votre infrastructure DevOps n’est en aucun cas une mission facile. C’est pourquoi AZARA Consulting est là pour vous aider. N’hésitez pas à nous contacter, nous serons ravis de vous rencontrer et de connaitre vos besoins pour vous accompagner dans votre aventure de transformation DevOps et Agile.