Déployer JIRA en entreprise partie 1 : Les différents environnements


Publié par
Nathan CHANTRENNE

21 février 2013

Cet article est le premier d’une série de trois articles consacrés à la gestion d’instances JIRA en entreprise. Ils exploitent les ressources mises à disposition par Atlassian (sur cette documentation notamment) ainsi que notre expérience d’experts Atlassian de longue date.

Mettre en place des serveurs de test

Lorsque l’on administre une (ou plusieurs) instance(s) JIRA, il est indispensable de disposer d’au moins un environnement de test (par instance !). Dans la plupart des entreprises, on distingue ces différents types de serveurs :

  • Production : serveur actuellement installé pour tous les utilisateurs.
  • Pré-production : serveur dont l’architecture est identique à celle du serveur de production, il permet de tester les procédures à l’identique avant de les appliquer en production. Il peut aussi servir à l’exécution de tests de performance (pour du capacity planning ou avant une montée de version)
  • Qualification : serveur permettant de tester différents changements comme la modification du code source de JIRA, l’installation d’un plug-in, le lancement d’un script, etc.
  • Développement : serveur sur lequel sont testés les développements spécifiques réalisés par les développeurs (s’il y en a). Les développeurs peuvent aussi disposer d’une instance locale.

Une fois ces différents environnements mis en place, vous devez établir une stratégie de déploiement des nouvelles fonctionnalités sur votre instance. Ces modifications peuvent être de différents types :

  • Modification d’un workflow existant : vous devez définir sur quels serveurs la modification devra être testée avant d’être mise en production. Il faut également définir qui sera en charge de cette modification : l’administrateur JIRA ou bien le demandeur de cette modification (à qui vous auriez donné des droits d’administrateur temporaires).
  • Ajout de plug-in : Qui a le droit d’installer un plug-in sur le serveur de Qualification ? Qui valide le déploiement (et éventuellement l’achat) du plug-in ? …
  • Développement d’un plug-in : Sur quel rythme sont mises en production les évolutions de ce plug-in ? Comment sont-elles communiquées aux utilisateurs ? Quel est le niveau de documentation attendu ? Où est stocké le code source ? Qui effectue les revues de code ? Quel outil de Gestion de Configuration Logicielle est utilisé ? …
  • Montée de version : Sur quel serveur est testée la montée de version ? Qui valide la procédure avant de l’exécuter en pré-production ? Quelles sont les étapes de communication aux utilisateurs finaux ? …
  • Etc.

Dans l’idéal, on doit pouvoir répondre à ces questions avant même de déployer JIRA. Mais rassurez-vous, il n’est jamais trop tard pour établir sa stratégie de déploiement.

Vous devez enfin décider (et communiquer) du rythme de mise à jour de vos différents serveurs. En effet, les données de ceux-ci doivent être le plus souvent possible à jour par rapport à la production, tout en les conservant suffisamment longtemps pour permettre des tests à plus long terme (impact de l’accumulation de données dans un plug-in par exemple).

Mettre à jour ses serveurs de test

Pour mettre à jour un serveur de test avec les dernières données du serveur de production,  il faut suivre ces différentes étapes :

  1. Récupérer le dossier <jira-home> de votre serveur de production et remplacer celui du serveur de test.
  2. Récupérer le dossier complet d’installation de JIRA et remplacer celui du serveur de test.
  3. Récupérer une sauvegarde de la base de données et l’importer dans une nouvelle base de données.
  4. Modifier le fichier <jira-home>/dbconfig.xml pour pointer sur cette nouvelle base de données.
  5. Modifier le fichier <jira-install>/WEB-INF/classes/jira-application.properties si le dossier <jira-home> est à un emplacement différent sur votre serveur de test.
  6. Démarrer votre serveur de test.
  7. Désactiver les serveurs de courriers électroniques (entrants et sortants).
  8. Modifier l’URL de base de votre instance.
  9. Modifier l’apparence de votre JIRA. On modifie souvent la couleur du bandeau supérieur afin de distinguer les différents types d’environnements. On peut également utiliser la bannière d’annonce de la même manière.
  10. Reconfigurer les Applications Links le cas échéant.

L’utilisation de serveurs de test permet de sécuriser votre plateforme de production, ce n’est donc pas un axe à négliger lors de votre déploiement de JIRA.

Le prochain article de cette série concernera le dimensionnement d’une plateforme JIRA, comment évaluer les volumétries présentes sur l’outil dans un an avant même de l’avoir installé ?