随着一个新的建设,我设置,我似乎不能得到一个坚实的工作yaml设置。
我试图建立一个Angular 的项目,并将其作为一个工件发布。
这是我的想法:
- script: |
npm install -g @angular/cli
npm install
npm uninstall @angular-devkit/build-angular
npm install @angular-devkit/build-angular
ng build --prod
- task: Npm@1
displayName: 'Build Angular'
inputs:
command: custom
workingDir: 'Mpw/Mpw.Web.UI/ClientApp'
verbose: false
customCommand: 'run build'
- task: CopyFiles@2
displayName: 'Copy dist to artifacts'
inputs:
SourceFolder: 'test/test.UI/ClientApp/dist'
Contents: '**'
TargetFolder: 'test/test.UI/ClientApp/dist'
cleanTargetFolder: true
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifacts'
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)/Application'
ArtifactName: 'test-uat'
但是我在管道上得到了以下错误输出:
2021-12-20T11:55:12.7224058Z [command]C:\Windows\system32\cmd.exe /D /S /C ""C:\Program Files\nodejs\npm.cmd" run build"
2021-12-20T11:55:18.9961043Z Node packages may not be installed. Try installing with 'npm install'.
2021-12-20T11:55:18.9961498Z
2021-12-20T11:55:18.9962153Z Could not find the '@angular-devkit/build-angular:browser' builder's node package.
2021-12-20T11:55:18.9962748Z > client-app@0.0.0 build
2021-12-20T11:55:18.9963084Z > ng build
2021-12-20T11:55:18.9963194Z
2021-12-20T11:55:19.1210342Z ##[warning]Couldn't find a debug log in the cache or working directory
2021-12-20T11:55:19.1215101Z ##[error]Error: Npm failed with return code: 1
2021-12-20T11:55:19.1221947Z ##[section]Finishing: Build Angular
我不确定我的Yaml是否100%正确
3条答案
按热度按时间ekqde3dh1#
可能未安装节点程序包。请尝试使用"npm install"进行安装。
npm install npm@latest
和npm install @angular/cli@latest
在缓存或工作目录中找不到调试日志
对npm任务"
install gulp -g
"使用以下命令找不到"@angular-devkit/build-angular:browser "生成器的节点包。
安装
@angular-devkit/build-angular
作为开发依赖项。或者,
升级问题
package-lock.json
(不是软件包. json)/node_modules
文件夹/dist
文件夹package-lock.json
和/node_modules
):$npm install
正是
package-lock.json
导致npm下载旧版本的依赖项。vlju58qv2#
Could not find the '@angular-devkit/build-angular:browser' builder's node package.
,尝试把你的YAML文件放在根目录下。我后来能够重命名文件为azure-pipelines-production.yaml
,它仍然工作。嗨,@Bike_dotnet,我在这件事上挣扎得很厉害;我一共运行了10个管道,管道YAML文件保存在
pipelines
文件夹中,我花了无数个小时试图弄清楚为什么构建不能只在Angular 解决方案上工作,而只能使用ng build --configuration production
;我甚至在版本14和15中生成了两个默认的Angular项目...我使用了相同的脚本,但没有效果,出现了相同的错误,每次都在许多管道上,跨越不同的Azure DevOps帐户和不同的默认项目以及我的生产就绪项目。最后,我生成了一个新的默认管道脚本,我发现它是由微软创建的,它与我以前尝试过的脚本完全相同...但这次我将脚本保存在根文件夹中,并将名称默认为
azure-pipelines.yml
...就像变魔术一样...它工作了,使用了生产配置和所有内容!我希望这能帮助到一些人。这是可行的:
vsikbqxv3#
我认为您错过了节点安装任务。
按照以下安装说明操作:https://learn.microsoft.com/en-us/azure/devops/pipelines/ecosystems/javascript?view=azure-devops&tabs=code