#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 для получения более подробной информации.
Надеюсь, это поможет.