Управление выпуском TFS 2015 - Тип артефакта: ошибка FileShare: System.IO.FileNotFoundException: невозможно найти указанный файл - PullRequest
0 голосов
/ 27 сентября 2019

Я использую TFS 2015 Release для развертывания сборок в средах DEV, QA и UAT.Я развертываю приложение C # WPF.

  1. Я внес изменение во включенный проект базы данных, в который теперь я включил сценарии ".sql" в выходной каталог моего решения Visual Studio.Я проверяю изменения, сборка проходит.
  2. Я создаю новый выпуск в своем конвейере выпуска и использую только что созданную сборку.
  3. ПРОБЛЕМА : мой конвейер выпускане удается выполнить развертывание на этапе выпуска «Загрузка артефактов».

Мне требуются новые включенные файлы «.sql» для расширения нашего конвейера выпуска, поэтому мне нужно найти способ включить эти файлы.

Это "Download artifacts.log" файл, взятый с шага развертывания, на котором произошел сбой.До новых включенных файлов «.sql» этот шаг прошел бы.

    2019-09-27T12:43:12.0760185Z Cleaning artifacts directory: C:\ST-BuildAgent\AgentA\9d128ed82…
    2019-09-27T12:43:12.2244465Z Cleaned artifacts directory: C:\ST-BuildAgent\AgentA\9d128ed82
    2019-09-27T12:43:12.2263995Z Number of linked artifacts to download: 2
    2019-09-27T12:43:12.2273760Z Starting artifacts download...
    2019-09-27T12:43:12.2390940Z Downloading linked artifact: Application Main - Continuous...
    2019-09-27T12:43:12.2390940Z Downloading artifact of type: Build
    2019-09-27T12:43:12.2400705Z Created artifact folder C:\ST-BuildAgent\AgentA\9d128ed82\Application Main - Continuous
    2019-09-27T12:43:12.2527650Z Preparing to get the list of available artifacts from build.
    2019-09-27T12:43:12.3631095Z Preparing to download artifact: Application Main - Continuous_20190927.2
    2019-09-27T12:43:12.3699450Z Artifact Type: FileShare
    2019-09-27T12:43:14.8404900Z Preparing to get the list of available artifacts from build.
    2019-09-27T12:43:14.8854090Z Preparing to download artifact: Application Main - Continuous_20190927.2
    2019-09-27T12:43:14.8854090Z Artifact Type: FileShare
    2019-09-27T12:43:15.9234285Z Preparing to get the list of available artifacts from build.
    2019-09-27T12:43:15.9790890Z Preparing to download artifact: Application Main - Continuous_20190927.2
    2019-09-27T12:43:15.9790890Z Artifact Type: FileShare
    2019-09-27T12:43:17.0171085Z Preparing to get the list of available artifacts from build.
    2019-09-27T12:43:17.0551920Z Preparing to download artifact: Application Main - Continuous_20190927.2
    2019-09-27T12:43:17.0551920Z Artifact Type: FileShare
    2019-09-27T12:43:18.0912585Z Preparing to get the list of available artifacts from build.
    2019-09-27T12:43:18.1518015Z Preparing to download artifact: Application Main - Continuous_20190927.2
    2019-09-27T12:43:18.1518015Z Artifact Type: FileShare
    2019-09-27T12:43:18.1879320Z Error: System.IO.FileNotFoundException: Unable to find the specified file.
    2019-09-27T12:43:18.1879320Z    at Microsoft.TeamFoundation.Release.Windows.Implementation.FileSystemFile..ctor(String fullPath)
    2019-09-27T12:43:18.1889085Z    at Microsoft.TeamFoundation.Release.Windows.Implementation.FileSystemDirectory.<>c.<GetFiles>b__8_0(String fullPath)
    2019-09-27T12:43:18.1889085Z    at System.Linq.Enumerable.<>c__DisplayClass7_0`3.<CombineSelectors>b__0(TSource x)
    2019-09-27T12:43:18.1889085Z    at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()
    2019-09-27T12:43:18.1889085Z    at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
    2019-09-27T12:43:18.1898850Z    at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
    2019-09-27T12:43:18.1898850Z    at Microsoft.TeamFoundation.DevOps.Diagnostics.DiagnosticsPolicyExecutor.Execute[T](Func`1 func, String methodName)
    2019-09-27T12:43:18.1898850Z    at Microsoft.TeamFoundation.Release.ArtifactRepository.FileShare.FileShareArtifact.DownloadArtifact(ArtifactDefinition artifactDefinition, String dropLocation, String localFolderPath)
    2019-09-27T12:43:18.1898850Z    at Microsoft.TeamFoundation.Release.ArtifactRepository.Build.BuildArtifact.DownloadArtifact(BuildArtifact buildArtifact, ArtifactDefinition artifactDefinition, String localFolderPath, BuildHttpClient buildClient, Int32 buildId)
    2019-09-27T12:43:18.1908615Z    at Microsoft.TeamFoundation.Release.ArtifactRepository.Build.BuildArtifact.Download(ArtifactDefinition artifactDefinition, String localFolderPath)
    2019-09-27T12:43:18.1908615Z    at Microsoft.TeamFoundation.Release.ArtifactRepository.Common.AgentArtifactDownloader.Download(ArtifactDefinition artifactDefinition, Uri workingFolder)
    2019-09-27T12:43:18.1908615Z    at Microsoft.TeamFoundation.DistributedTask.Plugin.Release.ReleaseJobExtension.<>c__DisplayClass19_0.<DownloadArtifacts>b__0()
    2019-09-27T12:43:18.1908615Z    at Microsoft.TeamFoundation.Release.Windows.Implementation.RetryExecutor.Execute(Action action)
    2019-09-27T12:43:18.1918380Z    at Microsoft.TeamFoundation.DistributedTask.Plugin.Release.ReleaseJobExtension.DownloadArtifacts(ITaskContext downloadArtifactTaskContext, IJobContext context, IList`1 agentArtifactDefinitions, Uri artifactsWorkingFolder, String teamProjectId, IDictionary`2 savedSettings)
    2019-09-27T12:43:18.1918380Z    at Microsoft.TeamFoundation.DistributedTask.Plugin.Release.ReleaseJobExtension.DownloadArtifactsWrapper(IJobContext context, IJobRequest job, CancellationToken cancellationToken, ITaskContext downloadArtifactTaskContext, String teamProjectId, Uri artifactsWorkingFolder, Int32 releaseId, IDictionary`2 savedSettings)

Что я пробовал Я отменил изменение кода, проверил изменения, собрал приложение,и успешно выпустила приложение.добившись успеха на этапе загрузки артефактов.

Я пробовал два разных способа загрузки файлов сценария ".sql" в папку артефактов сборки

  1. Я использовал команду XCOPY вСобытие после сборки проекта базы данных, которое копирует определенные файлы в путь вывода сборки приложения.
  2. В качестве альтернативы я попытался вручную изменить настройку файлов ".sql" Копировать в каталог вывода в Копировать всегда

Оба эти метода скопировали нужные файлы в артефакт сборки.

Пожалуйста, дайте мне знать, что мне следует попробовать дальше.Спасибо

1 Ответ

0 голосов
/ 30 сентября 2019

Обнаружена проблема ,

Путь к файлу к артефактам сборки был слишком длинным ... Когда агент выпуска запускает задание, он вытягивает все связанные артефакты сборки в сборкурабочая папка агента.

В моем случае я копировал файлы, которые были вложены в папки с длинными именами, а сами файлы сценариев имели действительно длинные имена.

Решение

Сократить имена файлов как-нибудь.XCOPY имеет переключатель, который сокращает имена файлов.Это нормально для использования в моем случае.

XCOPY / n - Создает копии, используя короткие имена файлов или каталогов NTFS./ n требуется, когда вы копируете файлы или каталоги с тома NTFS на том FAT или когда в файловой системе назначения требуется соглашение об именовании файловой системы FAT (т. е. 8,3 символа).Файловая система назначения может быть FAT или NTFS.

...