2009-06-02 11 views
4

Je suis un débutant à TeamCity et l'intégration continue. J'ai suivi this très bon guide pour tout mettre en place et tout semblait fonctionner au début.TeamCity supprime les fichiers sur la construction

TC pourrait vérifier les fichiers de SVN et il pourrait les construire sans problème. Cependant, j'ai découvert que le paramètre "Checkout directory" était faux, il pointait un dossier au-dessus de l'endroit où il devrait être, ajoutant tous les nouveaux fichiers de SVN au mauvais endroit, mais en s'appuyant sur les anciens. Après avoir corrigé cela, les problèmes ont commencé.

Maintenant, chaque fois que TC fait une construction, il efface tous les fichiers dans le 'Checkout directory' le problème est que tous les fichiers nécessaires ne sont pas gérés par SVN et ils sont supprimés pour toujours. Comme tous les fichiers nécessaires ne sont pas présents, la construction échoue.

Que dois-je faire pour que TC conserve mes fichiers?

Réglages de TC si elle pouvait aider:

Paramètres généraux modifier »

Nom: Mavia Créer

Description: aucun

format numérique Build: {0}, suivant numéro de build: # 8

chemins d'artefacts: aucun spécifié

Fail construire si:

code de sortie du processus

n'est pas nul: ON

au moins un test a échoué: ON

un message d'erreur est enregistré par le coureur de construction: OFF

il fonctionne supérieure à: aucune limite

Mémoire insuffisante ou panne détectée: ON

options de construction:

suspendu construit détection: ON

widget Statut: OFF

nombre maximum de courir simultanément construit: illimité

paramètres de contrôle Version modifier »

Mode de paiement VCS: Automatiquement sur le serveur

Répertoire de paiement: C: \ Inetpub \ wwwroot \ mavia_sip

Nettoyer tous les fichiers avant de construire: OFF

étiquetage VCS: désactivé

racines attachés VCS:

Nom règles Commander Définir l'étiquette

mavia_sip svn non spécifié NO

Runner : sln2008 modifier »

Type de coureur: sln2008 (fichiers de la solution Runner pour Microsoft Visual Studio 2008)

Chemin du fichier de solution: mavia_sip \ WebSite \ mavia_sip.sln

répertoire de travail: même que le répertoire de la caisse

Cibles: Reconstruire

Configuration: Debug

Platform Solution: par défaut

NUnit Run plate-forme: auto (MSIL)

Coureur NUnit: NUnit 2.2.10

Exécution de tests de: aucune mention

Ne pas exécuter des tests à partir de: aucun spécifié

catégories NUnit comprennent: aucune mention

catégories NUnit excluent: aucune mention

Réduire essai le temps de retour d'échec: OFF

MSTest: désactivé

traitement des rapports XML: désactivé

Générer le déclenchement »

configuration de construction est en pause (déclenchement désactivé).

Trigger construit par VCS check-in: ON

période calme: par défaut, 60 secondes

Démarrer une nouvelle construction si la dernière version est échoué: OFF

Déclenchement par le temps: non configuré

Cette configuration dépend de: non configuré

Dépendances modifier »

Dépendances d'instantanés:

Il n'existe aucune dépendance d'instantané.

dépendances d'artefact:

Il n'y a pas de dépendances d'artefact.

Propriétés et modifier des variables d'environnement »

Propriétés système: Aucun défini

Variables d'environnement: aucune définition

exigences Agent modifier»

Exigences relatives aux propriétés du système: aucun défini

Exigences pour les variables d'environnement: aucune définie

Répondre

4

Ok voilà comment je l'ai fait:

D'abord, je laisse vérifier TC sortir et construire le projet dans un dossier séparé sur le site. Les DLL externes nécessaires ont été déplacées du dossier "bin" dans un dossier séparé et ajoutées à subversion (mettant également à jour les références dans Visual Studio).

Maintenant TC pourrait construire le projet sans tracas.

Deuxièmement, je créé un poste Créer script dans Visual Studio comme ceci:

xcopy "C:\TeamCityBuild\mavia_sip\WebSite\*" "C:\Inetpub\wwwroot\mavia_sip\WebSite\" /C /R /Y /E 
if errorlevel 1 exit 0 

La gestion des erreurs est uniquement nécessaire pour éviter les erreurs de script lorsque quelqu'un construit le projet sur un environnement sans la structure de dossiers.

Jusqu'à présent, tout fonctionne très bien!

3

Le répertoire de la caisse ne doit pas contenir tous les fichiers que vous aimez!

Vous devez certainement être en mesure de le faire « propre builds », et ont TeamCity supprimer tout dans le dossier.

+0

C'est que les fichiers nécessaires sont utilisés par le CMS avec lequel nous intégrons. C'est beaucoup de fichiers et pour diverses raisons, nous ne voulons pas les ajouter à SVN. – Zooking