Azure CI/CD 管道 Angular 失败
Posted
技术标签:
【中文标题】Azure CI/CD 管道 Angular 失败【英文标题】:Azure CI/CD pipeline Angular failing 【发布时间】:2022-01-22 01:13:06 【问题描述】:通过我设置的新版本,我似乎无法获得可靠的 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% 正确
【问题讨论】:
【参考方案1】:更新节点和 Angular cli 版本 使用命令可能未安装节点包。尝试使用“npm install”进行安装。
npm install npm@latest
。还有npm install @angular/cli@latest
在缓存或工作目录中找不到调试日志
使用以下命令执行 npm 任务
"install gulp -g
"
找不到 '@angular-devkit/build-angular:browser' 构建器 节点包。
安装@angular-devkit/build-angular
作为开发依赖。
npm install --save-dev @angular-devkit/build-angular
或者,
yarn add @angular-devkit/build-angular --dev
升级问题
删除这些文件/文件夹(从您的 Angular 根文件夹中):
package-lock.json
(不是 package.json)
/node_modules
文件夹
/dist
文件夹
执行命令(重新生成package-lock.json
和/node_modules
):
$npm install
package-lock.json
导致 npm 下载旧版本的依赖项。
【讨论】:
【参考方案2】:我认为您缺少节点安装任务。
按照此处的安装说明进行操作:https://docs.microsoft.com/en-us/azure/devops/pipelines/ecosystems/javascript?view=azure-devops&tabs=code
【讨论】:
以上是关于Azure CI/CD 管道 Angular 失败的主要内容,如果未能解决你的问题,请参考以下文章
用于 Azure SQL Always Encrypted 数据库问题的 Azure DevOps CI/CD 管道
实践:基于Azure部署Jenkins服务并开发MERN应用的CI/CD构建管道
.NET Core WebJob 控制台应用程序 CI/CD 使用 Azure DevOps Pipelines
Azure 部署中心的 CI/CD 失败,因为存储库名称必须小写