web-dev-qa-db-fra.com

Comment accéder au dossier des artefacts après la construction de TFS en ligne?

PreInfo: L'API Web de base .net (vs2015) est associée à des projets ordinaires.

J'ai passé presque deux jours maintenant à faire en sorte que cela fonctionne, à chercher et à essayer tout ce à quoi je peux penser, mais je ne peux tout simplement pas vivre la vie de moi et obtenir la version et la publication dans TFS en ligne pour pouvoir jouer ensemble.

La construction (étape de publication de l'artefact) indique " le répertoire 'D:\a\1\a' est vide. Rien ne sera ajouté pour construire l'artefact 'drop'. "

mais l'étape "run dot net" dit

"Publié dans D:\a\1\s\Operator\MobileService\root\MobileService\src\AMP.Operator.MobileService\bin\release\net452\win7-x64\publish"

... donc il doit être quelque part le communiqué peut le récupérer, mais peu importe ce que j'essaie, je ne peux pas le faire prendre.

Voici ma configuration de construction My build

dotnet run dotnet run

édition the publish

Et le realse avec $ (System.DefaultWorkingDirectory)/MobileService-Dev s'il vous plaît noter que j'ai essayé chaque combo de $ (build.artifactstagingdirectory) dans la construction pour publier sans chance, mais je suis sûr que cela devrait pointer vers le dossier de publication pour la construction realse

J'espère donc que quelqu'un pourra me proposer une solution. Je ne peux tout simplement pas comprendre à quel point il est difficile de faire ce travail ..

30
Sturla

Dans votre définition de construction, je vous recommande d'ajouter une étape Copy Files Qui copiera vos artefacts de construction de vos résultats msbuild dans le répertoire de stockage d'artefacts de la construction avant d'exécuter l'étape Publish Artifact.

  • Dossier source: $(Build.SourcesDirectory)
  • Contenu: **\bin\$(BuildConfiguration)\**
  • Dossier cible: $(Build.ArtifactStagingDirectory)

Copy Files Task

Je suppose que la variable $(BuildConfiguration) est personnalisée selon votre définition et est probablement Debug ou Release. Je ne sais pas ce que fait exactement l'étape Exécuter dotnet , mais cette définition de construction que j'ai configurée a correctement publié mes artefacts de construction. L’étape Publier les artefacts de construction que j’exécute suit les mêmes étapes que la vôtre, sauf que la seule option de contrôle activée est Enabled.

Je cours également sur la mise à jour 2 de TFS 2015.

20
Toomaja

Vous pouvez télécharger les fichiers si vous souhaitez simplement les consulter. Allez à la compilation, cliquez sur l'onglet Artifacts, puis téléchargez comme indiqué ci-dessous:

enter image description here

6
Trevor

Vous devez spécifier l'argument de sortie (--output/-o) pour la commande de publication dotnet. Arguments:

Publish -c $(BuildConfiguration) -o $(Build.ArtifactStagingDirectory)

BTW: Vous avez dit “run dot net” étape dit “Publié dans D:\a\1\s ....”, les fichiers sont dans D:\a\1\s, aucun fichier dans D:\a\1\a (on est s et un autre a).

4
starian chen-MSFT