У меня есть докер-контейнер, который я использую для компиляции проекта, сборки установки и ее экспорта из контейнера. Для этого я смонтировал извлеченные источники (используя $(Build.SourcesDirectory):C:/git/
в разделе томов задачи запуска док-станции TFS) и выходную папку в 2 разных папках. Теперь мой проект содержит подмодуль, который также правильно проверен, все файлы есть. Однако, когда мой скрипт выполняет nmake, я получаю следующую ошибку:
Cannot find file: \ContainerMappedDirectories\347DEF6A-D43B-48C0-A5DF-CE228E5A10FD\src\Submodule\Submodule.pro
Где путь сопоставленного контейнера отображается на C:/git/
внутри контейнера докера Windows (запущенного на хосте Windows). Я смог запустить Docker-контейнер с помощью интерактивной PowerShell, смонтировать папку и узнать следующее:
- Все файлы находятся в контейнере.
- При выполнении
docker cp project/ container:C:/test/
и запуске моего скрипта сборки он находит все файлы и успешно компилируется.
- при копировании смонтированного проекта в Docker с PowerShell и запуске сценария сборки это также работает.
Так что, похоже, у nmake есть проблемы с прохождением смонтированного контейнера в докере. Есть идеи как это исправить? Я бы предпочел не копировать проект в контейнер, потому что это занимает довольно много времени по сравнению с простым монтированием извлеченного проекта.