2009-05-15 3 views
1

Ma configuration: Un projet avec deux configs de construction ("CI" et "reset dbs")Comment faire en sorte que les configurations de construction d'une ville d'équipe pour un même projet s'exécutent dans un ordre spécifique?

  • le "ci" est juste une construction régulière ci du projet

  • le « reset dbs "utilise le même VCS mais ne se déclenche que construit dans le « dossier de base de données commune de \ »(court réinitialisation des bases de données nécessaires pour les tests) (motif de déclenchement: +: commun/base de données/**)

maintenant - Je le ferais quand je vérifie des choses dans le dossier "database" - la construction "reset dbs" est toujours exécutée AVANT la construction "ci" régulière. Qu'est-ce que j'ai fait maintenant est de définir la période de silence de la construction "ci" à la même que l'intervalle d'interrogation pour le VCS - qui DEVRAIT me donner que le "reset dbs" s'exécute toujours premier droit?

Semble fonctionner jusqu'à présent (quelques validations de test) - mais je veux que ce soit totalement correct.

Y a-t-il une meilleure façon de procéder?

Je vois une autre façon de le faire qui serait de copier la configuration "ci" et d'en avoir une appelée "ci après réinitialisation" qui est déclenchée après la construction de réinitialisation. Et puis laissez le "ci" ordinaire exclure le dossier "base de données". On se sent comme un hack.

Merci!

Mise à jour: L'idée générale est de ne pas avoir à exécuter le "reset dbs" sur chaque validation, mais juste quand nécessaire - et dans ce cas, il doit fonctionner avant la construction "ci". Merci pour les réponses jusqu'à présent!

Répondre

1

Vous pouvez configurer la configuration "reset dbs" à déclencher par un checkin (par défaut), et avoir la configuration "ci" déclenchée par l'achèvement de la configuration "reset dbs" (appelée un déclencheur "dependency") .

+0

Merci, mais je voudrais que la compilation "reset" ne fonctionne pas toujours, mais le "ci" devrait toujours fonctionner. (voir la mise à jour dans ma question) – andyhammar

1

Je ne sais pas si elle le résout, mais il y a un onglet appelé dépendances sous Build triggering. Là, vous pouvez sélectionner une construction qui doit être exécutée avant la construction actuelle.

1

Dans les versions récentes de teamcity, vous pouvez configurer les priorités de génération. Cela pourrait résoudre votre problème de la manière suivante:

  1. Mise en service « ci » et « reset dbs » pour déclencher quand ils doivent construire en utilisant des motifs de déclenchement (comme vous semblez déjà faire). Les déclencheurs doivent spécifier que les modifications apportées au dossier "database" déclenchent les deux configurations.

  2. Accédez à Créer une file d'attente -> Configurer les priorités de construction. Maintenant, donnez une priorité plus élevée à "reset dbs".

Questions connexes