Я столкнулся со следующей проблемой.У нас есть настройка Gated Check-In, которая означает, что изменения не регистрируются напрямую, но создается Shelveset и на этой полке запускается сборка.Только если сборка прошла успешно, изменения регистрируются.
Теперь мы настроим определение сборки так, чтобы отображать только то, что нужно для сборки, так как мы хотим, чтобы время, необходимое для выполнения, было оченьминимум.Теперь проблема заключается в том, что если вы включите в свое изменение что-либо, что не будет отображено, сборка завершится неудачей в задаче GetSources , так как она не справляется с полкой и выдает ошибку сопоставления папок.
Для лучшего понимания, представьте следующую структуру:
- MyRepository
- Источники
--- MyCodeFiles
- Документы
--- SomeDocuments
Таким образом, в BuildDefinition мы отображаем только каталог Sources , поскольку он содержит файлы, которые нам нужно построить.Теперь вы должны убедиться, что никогда не будет включать какие-либо изменения за пределами Источники , например, в Документы , в противном случае сборка немедленно завершится неудачей.
Я уже искал и нашел описание команды unshelve: https://docs.microsoft.com/en-us/vsts/tfvc/unshelve-command?view=vsts
В соответствии с этим описанием должна быть возможность указать itemSpec , что
Identifies the file or folder revisions to unshelve into the current workspace
Похоже, что команда unshelve на самом деле поддерживает «частично» unshelve.Однако я не нашел способа добиться этого с помощью сборки vNext, так как я не смог найти никакой информации о том, как работает задача GetSources .
Есть что-то, что я пропустил или это с текущей реализацией просто невозможно достичь?