Atlassian Team ’21 – Toutes les nouveautés et mises à jour produits à connaitre. Lisez notre blog!

logo-bleu_rvb.png
Back

Monster builds

On parle ici de builds comme celui de JIRA, qui, avant que des mesures d’amélioration ne soient prises, prenait entre 30 et 60 heures à s’exécuter. Dans un cas comme celui-ci, la perte de vélocité de l’équipe de développement qu’entraîne le temps de build est souvent la principale raison pour chercher des pistes d’amélioration.

1. Optimisation

La première chose à faire est d’optimiser le build en capturant le « profil » de celui-ci. On analyse le processus de build pour savoir où celui-ci passe le plus de temps. Il est alors possible d’optimiser le build pour lui éviter les opérations inutiles ou des goulots d’étranglement. Pour Ant, un outil est disponible à l’adresse https://antutility.dev.java.net/.

2. Compatibilité

Un moyen très simple de réduire le temps d’un build est de réduire la taille de la matrice de compatibilité du projet. On entend par « matrice de compatibilité », un matrice contenant les combinaisons possible de configuration supportée pour le navigateur, le JDK, la base de données… Celle-ci a impact direct sur le temps d’exécution d’un build, puisque le nombre de cas de tests est directement proportionnel à sa taille.

3. Planification

La bonne planification des builds est très importante. Elle doit se faire en fonction du temps d’exécution des builds. On planifiera par exemple une compilation chaque heure, l’exécution des tests unitaires deux fois par jour et des tests fonctionnels chaque nuit.

4. Parallélisme

Si le ratio <temps de test>/<temps de build> est important, il est intéressant de paralléliser les tests. Par exemple, si un projet comporte 45 cas différents dans sa matrice de compatibilité, on pourra diviser le build en 15 plans à exécutés en parallèle, qui compileront chacun l’application en entier mais n’effectueront que 3 cas de tests chacun.

Pour en savoir plus: http://www.atlassian.com/summit/2010/presentations/development-speed/monster-builds-how-to-tame-them.jsp

Cutted Triangle

Inscrivez-vous à notre newsletter

Demande enregistrée ! Demande en cours... Ceci n'est pas un email Une erreur s'est produite

Conformément à notre politique de confidentialité, nous nous engageons à respecter vos données personnelles

Contactez-nous

Nos consultants certifiés Atlassian se feront un plaisir de vous répondre.

Rejoignez-nous

Nous sommes en train de construire un équipe extraordinaire. Vous en êtes ?

Suivez-nous

Nous utilisons des cookies pour le fonctionnement de ce site, pour améliorer son utilisation, personnaliser votre expérience et réaliser des statistiques de visite. Vous pouvez gérer les paramètres et choisir d’accepter ou non certains cookies durant votre navigation. Pour plus d’informations, consultez notre politique de confidentialité. Nos politique de confidentialité

Paramètres de confidentialité

Afin de faciliter votre navigation et de vous apporter le meilleur service possible, nous utilisons des cookies pour améliorer le site aux besoins des visiteurs, notamment selon la fréquentation.  Pour plus d’informations, consultez notre politique de confidentialité. Nos politique de confidentialité

Recaptcha

Google reCAPTCHA est un système conçu pour distinguer les humains des ordinateurs, de telle sorte que les bots soient incapables de remplir les formulaires de manière malveillante au nom d’un être humain.

Tag Manager

These cookies allow us to employ data analytics via Google Analytics and Google Tag Manager so we can measure and improve the performance of our site and provide more relevant content to you. These cookies don't collect information that identifies a visitor down to an individual level that is available to us. These cookies are not passing personally identifiable information to any external third party other than in limited cases when we engage a service provider to act on our behalf but who is then unable to use the data for their own purposes.

LinkedIn

Cookies pour une publicité ciblée : Ces cookies peuvent être mis en place au sein de notre site Web par nos partenaires publicitaires. Ils peuvent être utilisés par ces sociétés pour établir un profil de vos intérêts et vous proposer des publicités pertinentes sur d'autres sites Web. Ils ne stockent pas directement des données personnelles, mais sont basés sur l'identification unique de votre navigateur et de votre appareil Internet. Si vous n'autorisez pas ces cookies, votre publicité sera moins ciblée.

Cookies "réseaux sociaux" : Ces cookies sont activés par les services proposés sur les réseaux sociaux que nous avons ajoutés au site Web afin de vous donner la possibilité de partager notre contenu avec votre réseau et vos connaissances. Ils nous permettent également de suivre votre navigation sur d’autres sites Web et d’établir un profil de vos intérêts. Cela peut avoir un impact sur le contenu et les messages affichés sur les autres sites Web que vous consultez. Si vous n'autorisez pas ces cookies, il se peut que vous ne puissiez pas utiliser ou visualiser ces outils de partage.