Проблема с конвейером Azure DevOps

#azure-devops #azure-pipelines

#azure-devops #azure-конвейеры

Вопрос:

Я изо всех сил пытаюсь заставить простую сборку и развертывание работать и надеялся на некоторую помощь. Может ли кто-нибудь просмотреть шаги, а также почему артефакты публикации не работают? Это простой проект Angular 7.

Ошибка:

[раздел] Запуск: Опубликовать артефакт: dist ========================================================================== Задача: Опубликовать артефакты сборки Описание: Опубликовать артефакты сборки в Azure Pipelines / TFS или в общей файловой системе Версия: 1.142.2 Автор : корпорация Microsoft Справка : Дополнительная информация

[предупреждение]Каталог ‘D:a1sdist ‘ пуст. Ничего не будет добавлено для создания артефакта ‘dist’. [раздел] Завершение: опубликовать артефакт: dist

YAML:

 pool:
  vmImage: Hosted VS2017
  demands: npm

steps:
- script: |
   echo Write your commands here

   mkdir dist

   echo Use the environment variables input below to pass secret variables to this script
  displayName: 'Command - mkdir dist'

- task: Npm@1
  displayName: 'npm install'
  inputs:
    verbose: false

- task: Npm@1
  displayName: 'npm build'
  inputs:
    command: custom
    verbose: false
    customCommand: 'build --prod'

- task: PublishBuildArtifacts@1
  displayName: 'Publish Artifact: dist'
  inputs:
    PathtoPublish: dist
    ArtifactName: dist

- task: FtpUpload@1
  displayName: 'FTP Upload: dist'
  inputs:
    credentialsOption: inputs
    serverUrl: ‘xxx’
    username: Tester2
    password: 'Tester$2'
    rootDirectory: dist
    filePatterns: '*'
    remoteDirectory: /
    trustSSL: true
  

Комментарии:

1. Посмотрите на файловую систему. Помещаются ли файлы dist в корень рабочей папки? Если нет, то куда они помещаются? Это то, что вы хотите опубликовать.

2. Да, тогда предполагается, что ваш npm build должен заполнить каталог dist. Если это не так, вы можете указать своей задаче публикации фактический результат или использовать задачу копирования для копирования файлов в эту папку

Ответ №1:

Проблема с конвейером Azure DevOps

Задача Опубликовать артефакты сборки используется для публикации артефактов сборки в конвейерах Azure, TFS или в общей файловой системе.

Но, как и сказали Даниил и Андрей, хотя вы добавляете npm build , вы не указали, что установленная папка должна быть dist . Таким образом, результат npm build не будет сохранен в папке dist. В этом случае папка dist пуста.

Кроме того, чтобы сохранить результат сборки в папке dist, вы можете попробовать использовать опцию -- -op , подобную следующей:

 run ng build --prod -- -op ....dist
  

....dist Следует использовать относительный путь на основе project.json файла.

Проверьте документ JavaScript frameworks: AngularJS для получения более подробной информации.

Надеюсь, это поможет.