При определении версии VSTS \ TFS 2017 не удается создать каталог артефактов выпуска в C: \ Agents \ DA_CID22 \ r1 \ a - PullRequest
0 голосов
/ 02 декабря 2018

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

Я пытался вручную удалить папки внутри каталога r1, но это не удаетсяудалите папку 'a', то есть директорию артефакта, и укажите, что папка или файл в ней открыты в другой программе.Но шокирует то, что папка 'a' пуста и в ней даже нет скрытых файлов и папок.

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

Ниже приведена полная ошибка, которую я получаю в сводке по определению выпуска.

Ошибки (2)

failed Загрузка артефактов не удалась:Microsoft.VisualStudio.Services.Agent.Worker.Release.Artifacts.ArtifactDirectoryCreationFailedException: не удалось создать каталог артефактов выпуска 'C: \ Agents \ DA_CID22 \ r1 \ a'.---> System.IO.IOException: процесс не может получить доступ к файлу '\? \ C: \ Agents \ DA_CID22 \ r1 \ a', поскольку он используется другим процессом.в System.IO.Win32FileSystem.RemoveDirectoryHelper (строка fullPath, логическая рекурсия, логическое значение throwOnTopLevelDirectoryNotFound) в System.IO.Win32FileSystem.RemoveDirectory (строка fullPath, логическая рекурсивная функция (String full.DirectoryAudioUI), Boolean contentsOnly, Boolean continueOnContentDeleteError, CancellationToken cancellationToken) в Microsoft.VisualStudio.Services.Agent.Worker.Release.ReleaseFileSystemManager.EnsureEmptyDirectory (строковая директорияPath, исключение токовой точки отмены.Services.Agent.Worker.Release.ReleaseFileSystemManager.EnsureEmptyDirectory (String directoryPath, CancellationToken cancellationToken) в Microsoft.VisualStudio.Services.Agent.Worker.Release.RetryExecutor.Execute (действие action) в Microsoft.Visleaseer.Agent.Agent.Agent.Agent.Agent.Regent.ReleaseJobExtension.CreateArtifactsFolder (IExecutionContext executeContext, строковые артефактыWorkingFolder) в Microsoft.VisualStudio.Services.Agent.Worker.Release.ReleaseJobExtension.d__34.MoveNext () --- Конец трассировки стека из предыдущего местоположения, где было сгенерировано исключение --- в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (Задача) в Microsoft.VisualStudio.Services.Agent.Worker.Release.ReleaseJobExtension.d__31.MoveNext ()

Аргументированный выпуск: \ Агенты \ DA_CID22 \ r1 \ a '.

Любая помощь или совет будут очень полезны.

1 Ответ

0 голосов
/ 03 января 2019

Это происходит время от времени ... Я потратил несколько дней, пытаясь придумать не простое решение (все, что вы пробовали, я попробовал сам), но перезапуск частного агента.Мой вывод таков, что каким-то образом агентский процесс завис в папке с артефактом Windows.Вы можете видеть, что с такими программами, как https://lockhunter.com/., здесь непростое решение ... Иногда вы должны завершить процесс виновника, который не завершился корректно, освобождая этот файл, или, если вам повезет, выпустить дескриптор файла для этого файла синструмент, подобный сказанному ранее ...

...