#tfs
#tfs
Вопрос:
У нас есть приложение WPF, над которым мы работаем. В настоящее время у нас есть две среды выпуска для создания приложения WPF, одна для разработчиков, другая для тестирования. Мы обычно отключаем автоматическое создание нового выпуска тестового выпуска до более позднего. Существует только одно определение выпуска.
Определение выпуска состоит всего из трех шагов: два — это сценарии PowerShell , написанные бывшим администратором TFS, которые изменяют строку подключения к базе данных и подписывают сертификат для приложения WPF (мы используем ClickOnce для развертывания приложения).). Третий шаг копирует файлы из расположения сборки в место назначения, где пользователь может установить ClickOnce Setup.exe , при его установке или где ClickOnce будет извлекать новые версии приложения, когда мы выполняем сборку / выпуск. Переменные конфигурации определяют, куда копируется развертывание ClickOnce. Копирование файлов осуществляется на один и тот же сервер Windows Server 2012 R2, только в разные папки. Выпущенная тестовая среда работала еще в марте, когда мы в последний раз ее использовали.
Сегодня нам нужно было создать новую тестовую версию приложения, поэтому я изменил условия развертывания в среде разработки, чтобы разрешить развертывание после создания выпуска. Затем я запускаю выпуск как для разработчиков, так и для тестирования, используя последнюю сборку. Он работал идеально для разработчиков, но не прошел тестирование. На последнем шаге произошел сбой. Сбой со следующей ошибкой:
2020-09-18T16:13:20.2510464Z shell.js : внутренняя ошибка 2020-09-18T16:13:20.2510464Z Ошибка: EPERM: операция не разрешена, mkdir ‘\ ourserver Releases Аптечный склад Тест аптечного склада’ 2020-09-18T16:13:20.2510464Z при ошибке (родной) 2020-09-18T16:13:20.2510464Z в Object.fs.mkdirSync (fs.js:842:18) 2020-09-18T16:13:20.2510464Z в mkdirSyncRecursive (E:agent2tasksCopyFiles1.0.13node_modulesshelljssrcmkdir.js:11:8 ) 2020-09-18T16:13:20.2510464Z в E:agent2tasksCopyFiles1.0.13node_modulesshelljssrcmkdir.js:63:7 2020-09-18T16:13:20.2510464Z в Array.forEach (родной) 2020-09-18T16:13:20.2510464Z в Object._mkdir (E:agent2tasksCopyFiles1.0.13node_modulesshelljssrcmkdir.js:48:8 ) 2020-09-18T16:13:20.2510464Z на объекте.mkdir (E:agent2tasksCopyFiles1.0.13node_modulesshelljssrccommon.js:186:23 ) 2020-09-18T16:13:20.2510464Z на объекте.mkdirP (E:agent2tasksCopyFiles1.0.13node_modulesvsts-task-libtask.js:530:19 ) 2020-09-18T16:13:20.2510464Z на объекте. (E:agent2tasksCopyFiles1.0.13copyfiles.js:167:8 ) 2020-09-18T16:13:20.2510464Z в модуле._compile (module.js:413:34)
Я никогда раньше не сталкивался с этой ошибкой. Когда я искал его, я обнаружил проблемы, связанные либо с npm, либо node.js . Мы не используем ни npm, ни node.js для этого проекта WPF. Что происходит, где shell.js сбой в тестовой среде, но отлично работает в среде разработки?
Комментарии:
1. Привет, @Rod, не могли бы вы установить для переменной system.debug значение true, а затем поделиться полным журналом здесь? Кроме того, пожалуйста, также попробуйте обновить агент, а затем повторите попытку. Спасибо
2. Привет @VitoLiu-MSFT, один из моих коллег смог заставить релиз работать. Он внес некоторые изменения, которые запустили последовательность сборки / выпуска. На данный момент, поскольку выпуск сработал, я считаю проблему закрытой.
3. Привет @VitoLiu-MSFT, как я уже сказал вчера, проблема устранена, поскольку мой коллега смог заставить сборку работать. Тем не менее, я хотел бы добавить, что я понятия не имею, где и как установить system.debug. Я никогда не проходил никакого обучения по TFS и вряд ли когда-либо его получу.
4. Привет, @Rod, мы можем определить переменную System. Отладка и установите для нее значение true чтобы получить более подробные журналы для устранения проблем с конвейером, вы можете обратиться к этому документу для получения подробной информации. Кстати, не могли бы вы поделиться решением в ответе? В этом случае другие пользователи могут напрямую найти полезное решение. Спасибо.