Я знаю, что это старый вопрос, но я был разочарован тем же и немного покопался в первопричине.
ЛЮБОЕ изменение URL-адреса репо, по-видимому, создает новую рабочую папку. Если имя репозитория, имя проекта или имя организации/коллекции изменяется, изменится URL-адрес репозитория, который затем порождает новый SourceFolder.json для этого определения/конвейера сборки в папке SourceRootMapping. Используется последний файл SourceFolder.json.
Вы можете проверить папку SourceRootMapping и попытаться найти папку definitionId рабочей папки, которая была заменена более новой. Если у вас есть несколько папок в этом каталоге definitionId, проверьте файлы SourceFolder.json внутри них и посмотрите, что изменилось, какие изменения привели к созданию и использованию новой папки.
Пример. Мой каталог D:\ADO-Terraform\_work\SourceRootMapping\542dccee-a265-44db-bae0-9b3f48d21793\1837
, где 1837
является definitionID (не совпадает с номером рабочей папки), содержит 4 папки с именами hashKey под ним. У меня был 1, который был моим оригиналом, затем 1, когда я изменил используемое репо, затем 1, когда я переименовал используемое репо, затем 1, когда я переименовал проект, в котором была эта работа.
К сожалению, я не думаю, что есть способ исправить это, чтобы использовать старую папку. Но, как сказал кто-то другой, вы можете очистить рабочую папку от всех папок, помеченных определением сборки (1-201 в вашем примере), а затем сбросить/очистить файл mappings.json, что должно сделать ваш агент начинает с 1.
Прежде чем я получу ответ, это не должно иметь значения или использовать системные переменные: мне нужно, чтобы агент использовал один и тот же каталог для каждой сборки, потому что я использую Terraform для развертывания некоторых простых файлов в нашем балансировщике нагрузки; Terraform использует файлы состояния. Если файл состояния не существует (например, когда агент использует другую рабочую папку), Terraform пытается создать файл как новый на нашем балансировщике нагрузки, что вызывает ошибку «файл уже существует».
person
Ryan Washburn
schedule
30.07.2021