Запуск веб-пакета с PowerShell в VSTS - PullRequest
0 голосов
/ 28 июня 2018

Используя этот пост в качестве отправной точки, я следовал основным шагам, изложенным там.

  1. Установить веб-пакет на агент
  2. Получить путь установки для веб-пакета
  3. Запустите веб-пакет с точного пути установки

Я проверял это локально, и скрипт отлично работает. Как только я помещаю его в 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

1 Ответ

0 голосов
/ 29 июня 2018

У меня есть работа, где я использую npm и package.json для запуска сценариев и установки зависимостей.

  1. npm install webpack webpack-cli --save-dev - это зависимости, которые вам нужны для запуска веб-пакета, вы можете поменять webpack-cli на webpack-command, который, по-видимому, легче, если вы хотите
    • Это делается локально, а не как этап сборки. Проверьте это при обновлении package.json.
  2. Создайте свой шаг сборки в package.json. Я создал два: build и build-prod
  3. Создайте два шага npm в вашей сборке vsts.
    • Первый - это просто npm install для установки всех ваших пакетов
    • Второй этап - это пользовательский шаг для запуска сценария package.json. В моем случае это текст run build-prod

Вот и все!


package.json с двумя сценариями, которые я должен назвать webpack:

{
  ...
  "scripts": {
    "build": "webpack --config webpack.config.js && webpack --config webpack.2.config.js",
    "build-prod": "webpack -p --config webpack.config.js && webpack -p --config webpack.2.config.js"
  }
  ...
}

И, наконец, картинка с заданиями.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...