Я только начинаю несколько экспериментов по замене наших сборок TeamCity на конвейеры разработки Azure. Один из моих проектов имеет зависимость от Grunt, поэтому я создал задачу:
- task: Grunt@0
displayName: 'Run Grunt task bower install'
inputs:
workingDirectory: $(webDir)
targets: bower:install
Я прочитал документацию по задаче grunt, и там написано, что я могу предоставить рабочий каталог, но все, что я сделал до сих пор, выдает только сообщение об ошибке без особо полезной обратной связи:
## [error] Not found gruntfile: D:\a\1\s\gruntfile.js
Вот несколько входов рабочего каталога, которые я пробовал:
workingDirectory: 'Web'
workingDirectory: '.\\Web'
workingDirectory: '$(Build.SourcesDirectory)\\Web'
workingDirectory: $(Build.SourcesDirectory)\Web
В конечном счете, я ожидаю, что добавление строки в workingDirectory окажет некоторое влияние, но я, очевидно, что-то делаю не так, и не могу понять, что это такое.
И напоследок, я создал несколько новых задач для запуска перед этой рабочей задачей, просто чтобы посмотреть, что такое CWD, и проверить мои знания о WorkingDirectory для других задач.
- script: cwd
displayName: show working dir1
workingDirectory: '$(Build.SourcesDirectory)\\Web Store'
- script: cwd
displayName: show working dir2
workingDirectory: $(Build.SourcesDirectory)\Web Store
- script: cwd
displayName: show working dir3
workingDirectory: $(webStoreDir)
- task: CmdLine@2
displayName: show working dir4
inputs:
workingDirectory: $(webStoreDir)
script : cwd
Во всех 4 случаях рабочий каталог передается в Cmd.exe ...
Очевидно, что задание "ворчать" работает в рамках различных концепций, но я не могу их решить.
Как я могу заставить задачу grunt принять рабочий каталог?