Azure DevOps - как создавать пакеты с помощью веб-пакета во время развертывания - PullRequest
1 голос
/ 22 февраля 2020

Я пытался развернуть веб-приложение на локальном IIS с помощью Azure Репозитории и конвейеры DevOps.

Я хотел бы создавать пакеты с помощью веб-пакета на Azure Сервис DevOps, а не загружать уже упакованные javascript, файлы стилей до Azure Репос.

FYI, приложение использует ASP. NET Core 2.2, webpack 4.30, webpack-cli 3.3.2 и конфигурации с webpack.config. js (содержит множество настроек для создания пакетов в ' папка dist) и javascript, файлы стилей находятся в папке wwwroot.

Пока все работает нормально, если я загружаю в Repos уже связанные файлы в папке dist. Но я хотел бы загружать только исходные файлы и позволить Azure DevOps Repos или Pipelines для сборки пакетов и создания артефактов с его помощью.

До сих пор я пытался использовать azure -pipelines.yml

- task: NodeTool@0
  inputs:
    versionSpec: '12.x'

- task: CmdLine@2
  inputs:
    script: |
      cd (folder) 
      cd (other folder-where package.json is located)
      npm install -g webpack webpack-cli --save-dev
      npm install
      npx webpack --config webpack.config.js

или

- task: CmdLine@2
  inputs:
    script: |
      cd (folder)   
      cd (folder)
      npm install webpack webpack-cli --save-dev
      webpack
      npm run build (which is just 'webpack')

оба не работают. Кажется, npm установка работает, но она даже не запускает часть webpack. потому что я использую 'webpack-messages' в файле webpack.config. js, поэтому я ожидаю некоторых сообщений, таких как "Создание чего-то связанного ...", но оно не показывает никаких сообщений, касающихся процесса webpack. Ниже приведены сообщения из журнала сборки.

Starting: Webpack install and build
==============================================================================
Task         : Command line
Description  : Run a command line script using Bash on Linux and macOS and cmd.exe on Windows
Version      : 2.163.0
Author       : Microsoft Corporation
Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/command-line
==============================================================================
Generating script.
========================== Starting Command Output ===========================
"C:\windows\system32\cmd.exe" /D /E:ON /V:OFF /S /C "CALL "d:\a\_temp\fc9874eb-1e72-4a4f-82af-2d3b62451eb7.cmd""
npm WARN rollback Rolling back readable-stream@2.3.6 failed (this is probably harmless): EPERM: operation not permitted, scandir 'D:\a\1\s\something\something\node_modules\fsevents\node_modules'
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.11 (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.11: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

+ webpack-cli@3.3.11
+ webpack@4.41.6
added 388 packages from 217 contributors and audited 5566 packages in 31.587s

3 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

Я пробовал также на конвейере выпуска. Я добавил такие задачи, как «npm install», «npm custom», «расширение командной строки» или «webpack» из Dealogi c, но ни одна из них не работает, так как я не могу указать, где пакет. json находится на Azure облачной машине DevOps.

Пожалуйста, дайте мне знать, если это возможно, и если да, то как это сделать.

...