3

Je dois configurer un système d'intégration continue. Nous utilisons le contrôle de version ClearCase et uniquement les vues instantanées en raison des restrictions de la plate-forme. J'ai essayé de mettre en place Hudson et Luntbuild. Ils montrent tous les deux le même comportement. Dans une vue, nous avons beaucoup de bibliothèques qui sont utilisées pour la construction mais qui sont strictement en lecture seule. Le système CI exécute la commande cleartool lshistory et trouve un changement dans le VCS. Après cela, il exécute cleartool setcs, ce qui provoque la mise à jour de la vue. Cela peut prendre environ une demi-heure, ce qui est très indésirable pour CI. Pourquoi ne mettrait-il pas à jour seulement les éléments modifiés, qui ont été précédemment obtenus par cleartool lshistory? Y a-t-il un système d'IC ​​qui peut le faire?Intégration continue avec ClearCase et vues de mise à jour longue mise à jour

Répondre

1

La mise à jour d'une vue d'instantané avec beaucoup d'éléments peut prendre du temps.

C'est pourquoi nous utilisons plusieurs voir dans notre CI Hudson.

  • Une avec la quantité minimale d'éléments , vue qui est contrôlée par Hudson et mis à jour en cas de détection d'un changement de VCS.
  • un avec l'étoffe commune qui ne change pas souvent (si elle change, nous declenche l'Hudson Job manuellement)

Autre solution est, en particulier pour la première vue, d'utiliser une vue dynamique (et sauter les temps de chargement de mise à jour)

+0

Merci pour votre réponse! Je pensais à faire deux vues, mais je ne peux pas vraiment comprendre comment préserver la structure de répertoire existante dans le projet. Une vue est créée dans le répertoire séparé, de sorte que tous les chemins d'accès en lecture seule et les bibliothèques du projet doivent être modifiés. Les développeurs devront également travailler avec le projet contenant la nouvelle structure de répertoire. La seule façon de conserver l'ancienne structure du répertoire sur le serveur est d'utiliser des liens symboliques, même si je ne suis pas sûr que ce soit une bonne idée avec les vues instantanées. Comment gérez-vous cela? –

+0

@Yulia: la création de deux vues est uniquement pour l'installation de CI. Les développeurs peuvent continuer à utiliser une vue. Mais ce type de configuration est une bonne occasion de s'assurer qu'aucun chemin absolu n'est utilisé dans les paramètres du projet, seul le chemin avec une variable, permettant d'inférer le bon chemin à partir de la valeur de la variable. – VonC

+0

Merci! L'utilisation d'une variable dans les chemins est certainement une voie à suivre. Je me demande encore, pourquoi les systèmes de CI mettent à jour non seulement les éléments changés (ils sont connus en appelant précédemment lshistory de cleartool), mais la vue entière. Qu'est-ce que tu penses? –

0

Yulia,

vous pouvez consulter notre Parabuild - il peut fonctionner mieux pour vous. Si ce n'est pas le cas, nous serons heureux de travailler avec vous pour résoudre les problèmes de performances.

+0

Quel est le niveau d'intégration de ClearCase avec Parabuild? (affichage instantané et vue dynamique? vues UCM?) – VonC

+0

Parabuild prend en charge les vues d'instantanés et UCM via les vues d'instantanés UCM. Les vues dynamiques ne sont pas très bonnes pour CI. Ils sont rapides mais vous ne pouvez pas synchroniser avec un changement particulier. –