2011-04-25 2 views
1

Sur ma machine dev locale cela fonctionne parfaitement:Comment utiliser MSBuild pour déployer un dossier dans TeamCity?

msbuild project.name.csproj /p:DeployOnBuild=true /p:DeployTarget=PipelinePreDeployCopyAllFilesToOneFolder /p:_PackageTempDir="c:\proyectos\folder1\deploy" /p:AutoParameterizationWebConfigConnectionStrings=false 

Je suis en train de configurer une étape de construction en TeamCity avec MSBuild, dans les « paramètres de ligne de commande » Je mets ceci:

/p:DeployOnBuild=true /p:DeployTarget=PipelinePreDeployCopyAllFilesToOneFolder /p:_PackageTempDir="c:\proyectos\folder1\deploy" /p:AutoParameterizationWebConfigConnectionStrings=false 

il fonctionne, pas d'erreurs sont affichées, mais les fichiers ne sont pas copiés « c: \ proyectos \ dossier1 \ deploy »

Edit: Je vais avoir les mêmes problèmes avec MSBuild sur l'invite de commande, il est donc pas TeamCity . Ma machine de développement local est sur Windows 7 et le serveur est Windows 2003

+0

À quoi ressemble la copie? Si ce sont des erreurs, cela va-t-il casser la construction? Sinon, faire/v: diag montrera les étapes individuelles –

Répondre

4

Exécutez avec /v:d ou v:diag pour vous connecter.

(d'abord faire fonctionner local, mais ... En TeamCity, voir l'agent dans la console et regardez les journaux de détail d'agent pour ces journaux similaires (ou juste passer le même /v: drapeau MSBuild via TeamCity))

+0

merci, après je pensais que le problème était avec teamcity mais le problème était avec msbuild lui-même. J'ai compris que je devais installer Visual Studio sur le serveur! – hminaya

+0

@hminaya: Content que tu sois trié. N'aimez pas entendre parler de gens qui prennent des options nucléaires comme mettre VS sur le serveur - en général, il suffit de mettre les fichiers .targets appropriés, mais alors je ne sais rien de ce que vous êtes en train de faire! –

1

Vous devez vous assurer que l'utilisateur qui exécute le "TeamCity Build Agent Service" dispose d'un accès en écriture aux répertoires concernés. (FWIW, je crois que le compte LocalSystem a différentes appartenances de groupe dans Server 2003 et Windows 7. Nous exécutons tous nos agents de build TeamCity sous leurs propres comptes "teamcity" pour contrôler plus explicitement les permissions et permettre l'accès aux partages réseau.

+0

Tant que vous n'êtes pas en train d'avaler des erreurs, le message d'erreur peut conduire à cela. La première étape consiste à trouver ce qui ne va pas, ne pas commencer à deviner? –

0

L'installation de Visual Studio 2010 résout ce problème. Mais, vous pouvez également le réparer en copiant les cibles de construction appropriées sur votre machine. En règle générale, sur votre machine dev ils seront à (ou à emporter le (x86) pour 32 machines de bits).

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web 

En vous y trouverez un tas de Microsoft.Web.Publishing * cibles. Il suffit de copier ceux-ci à l'emplacement équivalent sur votre machine de construction et tout ira bien.

0

L'installation de l'outil de déploiement Web via la plateforme Web du serveur fonctionne pour moi. En fait, l'installation de Visual Studio installe le déploiement Web, c'est peut-être la raison pour laquelle cela fonctionne pour @himinaya.

Questions connexes