Используя этот пост в качестве отправной точки, я следовал основным шагам, изложенным там.
- Установить веб-пакет на агент
- Получить путь установки для веб-пакета
- Запустите веб-пакет с точного пути установки
Я проверял это локально, и скрипт отлично работает. Как только я помещаю его в VSTS как часть сборки (просто задача powershell для агента), он работает до тех пор, пока я не выполню команды webpack, где он ничего не возвращает. Нет вывода вообще.
Write-Host `nInstalling webpack and webpack-command
npm install --no-save --no-package-lock -g webpack webpack-command
Write-Host `nGetting the environment variables for webpack
(Get-Item -Path ".\" -Verbose).FullName
$env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User")
$webpackOptions = Get-Command -CommandType Application -ErrorAction SilentlyContinue -Name webpack | Select-Object -ExpandProperty Definition
Write-Host `nThe options:
$webpackOptions | Write-Host
Write-Host `nSelected:
$webpack = $webpackOptions -Match 'cmd' | Select-Object -First 1
Write-Host $webpack
# On the build agent it is at this point that I get blank results
# On my local machine I get the paths such as:
# C:\Users\Admin\AppData\Roaming\npm\webpack.cmd --config webpack.css.config.js
# The results of webpack running
Write-Host `nPacking webpack.config.cs
Write-Host $webpack --config webpack.config.js
& $webpack --config webpack.config.js
# Same as above
Write-Host `nPacking webpack.css.config.cs
Write-Host $webpack --config webpack.css.config.js
& $webpack --config webpack.css.config.js
У кого-нибудь есть идеи? Это особенно странно для меня, поскольку, когда я печатаю путь selected
для веб-пакета, он, кажется, находит ожидаемое значение, то есть печатает C:\npm\prefix\webpack.cmd