Question

Quelqu'un at-il essayé cette fonctionnalité et a des commentaires? Ou est-ce que quelqu'un connaît des exemples utiles à rechercher?

Était-ce utile?

La solution

J'ai essayé cette fonctionnalité il y a quelques mois, mais je ne l'utilise plus (simplement parce que je n'en ai pas besoin, pas parce que ce n'est pas une bonne fonctionnalité).

En gros, vous définissez n axe, chaque axe est une propriété à plusieurs valeurs.

Prenons un exemple: vous définissez l’axe "JDK", avec la valeur possible "1,4", "1,5", "1,6" et vous définissez une autre propriété "base de données", où les valeurs possibles sont "oracle", "mysql".

Ainsi, Hudson lancera votre build 6 fois:

  • avec JDK 1.4, avec la propriété database = oracle (c’est-à-dire que la machine virtuelle est lancée avec -Ddatabase = oracle)
  • avec JDK 1.5, avec la propriété database = oracle
  • avec JDK 1.6, avec la propriété database = oracle
  • avec JDK 1.4, avec la propriété database = mysql
  • avec JDK 1.5, avec la propriété database = mysql
  • avec JDK 1.6, avec la propriété database = mysql

Ensuite, une fois que tout sera terminé, vous pourrez voir les résultats pour chaque itération.

Cette fonctionnalité peut être réellement utile lorsque vous devez tester votre application dans plusieurs environnements (dans mon exemple, avec différentes versions de JDK ou de base de données).

Notez que sauf pour l’axe JDK, vous devez gérer vous-même la propriété donnée en entrée par Hudson. Dans mon exemple, l'application doit prendre en compte la " base de données " la propriété elle-même. Finalement, une bonne idée est d’utiliser cette propriété pour activer un profil particulier dans la configuration Maven2, si votre projet est mavenisé (voir ici pour plus de détails à ce sujet).

J'espère que mes explications sont suffisamment claires:)

Autres conseils

Les constructions Matrix ont un certain nombre de problèmes:

  • Généralement incompatibles avec les plugins, ils s'améliorent, mais vous devez rester très à jour.
  • Les artefacts - beaucoup plus difficiles à manœuvrer - Les urls sont un peu plus gênantes, les trouver sur le FS (que vous devriez éviter de toute façon) est maintenant un cauchemar.

Ce qui est dommage, car le concept est très bon et très pratique là où il fonctionne.

Modifier

  • Impossibilité de commencer des points uniques.

Notre solution habituelle consiste à avoir des versions paramétrées configurées pour s'exécuter simultanément - ce qui pose ses propres problèmes, mais nous évite de nombreuses tâches avec le même code et des constantes différentes.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top