2017-01-31 14 views
17

PreInfo: У меня есть .net core web api (vs2015), смешанный с обычными проектами.Как получить доступ к папке артефактов после сборки в TFS онлайн?

Я потратил почти 2 дня, чтобы заставить это работать, искать и пробовать все, что я могу придумать, но я просто не могу жить, когда я получаю сборку и выпуск в TFS онлайн, чтобы играть вместе.

Билд (публикация артефакт шаг) говорит «Directory„D: \ а \ 1 \ а“пустое Ничто не будет добавлен, чтобы построить артефакт„падение“..»

но «запустить точка чистый»шаг говорит

"Опубликован в D: \ а \ 1 \ s \ оператора \ MobileService \ корень \ MobileService \ SRC \ AMP.Operator.MobileService \ Bin \ выпуск \ net452 \ win7-x64 \ публиковать"

... так он должен быть где-то релиз может забрать его, но независимо от того, что я пробую, я не могу его выбрать вверх.

Вот моя установка сборки My build

DotNet пробег dotnet run

издательство the publish

И realse с $ (System.DefaultWorkingDirectory)/MobileService-Dev Обратите внимание, что я пробовал каждую комбинацию $ (build.artifactstagingdirectory) в сборке для публикации без везения, но я уверен, что это должно указывать на p папка для публикации для сборки realse

Я так надеюсь, что кто-то может указать мне на решение. Я просто не могу понять, как трудно это сделать.

+0

Каков результат после попытки его решения? –

ответ

14

В вашем определении построения я рекомендую добавить шаг Copy Files, который скопирует ваши артефакты сборки из ваших msbuild результатов в каталог State Directory Artifact, прежде чем вы выполните шаг Publish Artifact.

  • Источник Папка: $(Build.SourcesDirectory)
  • Содержание: **\bin\$(BuildConfiguration)\**
  • Целевая папка: $(Build.ArtifactStagingDirectory)

Copy Files Task

Я предполагаю, что переменная $(BuildConfiguration) является обычай ваше определение и, вероятно, Debug или Release. Я не уверен, что именно делает шаг Run dotnet, но это определение сборки, которое я установил, правильно опубликовал мои артефакты сборки. Шаг «Опубликовать сборки артефактов», который я выполняю, имеет те же действия, что и у вас, за исключением того, что включен только один параметр управления: Enabled.

Я также работаю на TFS 2015 обновления 2.

+0

Я думаю, что моя проблема полностью связана с ядром dotnet. Ваш подход не сработал. Извините. Теперь я смотрю его https://docs.microsoft.com/en-us/aspnet/core/publishing/vsts-continuous-deployment – Sturla

+0

@Sturla Спасибо за отзыв. Я также заметил, что ваш рабочий каталог для вашего инструмента dotnet - это путь TFS, а не путь _real_. Я не уверен, что это намеренно или может вызвать проблемы. Это может быть параметр для использования вместо рабочего каталога. – Toomaja

+0

Не следует ли поместить результат сборки в папку артефактов «по определению» без каких-либо дополнительных шагов по копированию вручную? – SerG

4

Вы должны указать выходной аргумент (--output/-o) для DotNet опубликовать команду. Аргументы:

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

BTW: Вы сказали, что «запустить Dot Net» шаг говорит «Опубликовано в D: \ а \ 1 \ с ....», файлы в D: \ а \ 1 \ х , нет файлов в D: \ a \ 1 \ a (один - с, а другой - a).

+0

Tks! Это спасло мою жизнь :) – andrecarlucci