2

Nous avons un projet qui a plusieurs composants développés indépendamment. Pourtant, nous avons de nombreuses versions toutes nommées comme des produits différents avec des horaires différents. Nous voulons obtenir une rétroaction immédiate lorsqu'un composant a une nouvelle version (probablement liée à une correction de bogue), donc tous les produits en fonction de cette version doivent également être mis à jour.Comment suivre les modifications de version dans les composants/bibliothèques dépendants?

A -> v1.0 (released 10.10.2009) 
B -> v1.0 (depending on A, released on 11.10.2009) 
A -> v1.1 (released 12.10.2009) ---> B must be updated 

Bien sûr, ce n'est qu'un exemple simple. Il devrait y avoir des projets dédiés à ce scénario, mais je n'ai pas pu trouver. Que faites-vous pour gérer de telles situations? Quel est le moyen préféré (facile, mais puissant)?

+1

Quel est votre langage de programmation? C, C++, Java, C#, VB, ...? – aponomarenko

+0

Il existe en effet des projets dédiés à ce scénario. Le langage dans lequel vous évoluez est un facteur clé dans le choix d'un chemin. Choses à google: maven, lierre, nounou, nuget, "gestion de la dépendance" – thekbb

+0

Je pense que la réponse dépend de ce qu'il entend par "rétroaction immédiate". S'ils veulent juste l'inclure immédiatement dans les builds, une gestion des dépendances comme maven ou ivy est un moyen d'y aller. Cependant, si cela doit être juste par ex. un e-mail suivi d'une action de mise à niveau manuelle + test, la gestion des dépendances vous aidera, mais nécessitera plus de scripts pour atteindre l'objectif. – Pavel

Répondre

0

Cela dépend fortement de la configuration de votre projet (composants). Je suppose que vous avez un référentiel pour chaque composant avec un CI, voici une solution simple

  • Utilisez les options normalement fournis par Hudson/Jenkins pour le contrôle-out et de construire le composant (Google pour les plugins hudson/jenkins)
  • dépendances dans CI Spécifiez
  • piste pour les changements après chaque vérifier
  • Si X a nouveau code (commits) ils sont mis à jour Y. Ceci est très facile à CI (Hundson/Jenkins)

J'ai CI utilisé pour un scénario similaire. Il y a beaucoup de plugins (opensource) pour Jenkins pour trouver les changements de code, déclencher les notifications/autres builds et construire les dépendances

Questions connexes