Nmake не может найти файлы в монтируемом докере - PullRequest
0 голосов
/ 12 ноября 2018

У меня есть докер-контейнер, который я использую для компиляции проекта, сборки установки и ее экспорта из контейнера. Для этого я смонтировал извлеченные источники (используя $(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, смонтировать папку и узнать следующее:

  1. Все файлы находятся в контейнере.
  2. При выполнении docker cp project/ container:C:/test/ и запуске моего скрипта сборки он находит все файлы и успешно компилируется.
  3. при копировании смонтированного проекта в Docker с PowerShell и запуске сценария сборки это также работает.

Так что, похоже, у nmake есть проблемы с прохождением смонтированного контейнера в докере. Есть идеи как это исправить? Я бы предпочел не копировать проект в контейнер, потому что это занимает довольно много времени по сравнению с простым монтированием извлеченного проекта.

...