Angular project CI in azure devops giving error 'Publishing build artifacts failed with an error: '
Angular project CI in azure devops giving error 'Publishing build artifacts failed with an error: '
我在 GitHub 托管的一个项目中申请了 CI/CD。该项目分为两个子文件夹,其中一个包含 asp.net core web API 项目,另一个是 angular 项目。我已经成功地为 asp.net 核心项目构建了 ci/cd,但是当我为 angular 项目构建 ci/cd 时,CI 部分出现错误
##[error]Publishing build artifacts failed with an error: Not found
PathtoPublish: /home/vsts/work/1/s/dist
我的管道 yml 脚本是:
trigger:
- master
pool:
vmImage: 'ubuntu-latest'
steps:
- task: NodeTool@0
inputs:
versionSpec: '10.x'
displayName: 'Install Node.js'
- script: |
pushd tritronFrontend
npm install -g @angular/cli@7.3.8
npm install
ng build
displayName: 'npm install and build'
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: 'dist'
ArtifactName: 'dist'
publishLocation: 'Container'
但是当我在网上看到一些教程时,有人建议添加存档文件部分如下:
- task: ArchiveFiles@2
inputs:
rootFolderOrFile: '$(Build.BinariesDirectory)'
includeRootFolder: true
archiveType: 'zip'
archiveFile:'$(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip'
replaceExistingArchive: true
但这是触发错误
##[error]Publishing build artifacts failed with an error: Not found
PathtoPublish: /home/vsts/work/1/s/dist
我已经尝试添加存档文件部分,但没有成功。
改为使用此代码:
trigger:
- master
pool:
vmImage: 'ubuntu-latest'
steps:
- task: NodeTool@0
inputs:
versionSpec: '10.x'
displayName: 'Install Node.js'
- script: |
npm install
npm run build
displayName: 'npm install and build'
workingDirectory: '$(Build.SourcesDirectory)'
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.SourcesDirectory)/dist'
ArtifactName: 'drop'
publishLocation: 'Container'
如果有人想部署 github 上任何特定文件夹中的 angular 应用程序,他必须推送那些特定的 angular 文件夹,在我的情况下,我已经解决了我的问题以下喜欢剧本:
trigger:
- master
pool:
vmImage: 'ubuntu-latest'
steps:
- task: NodeTool@0
inputs:
versionSpec: '10.x'
displayName: 'Install Node.js'
- script: |
pushd tritronFrontend
npm install -g @angular/cli@7.3.8
npm install
npm run build
ng build --prod
displayName: 'npm install and build'
- task: ArchiveFiles@2
inputs:
rootFolderOrFile: 'tritronFrontend/dist'
includeRootFolder: true
archiveType: 'zip'
archiveFile: '$(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip'
replaceExistingArchive: true
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
publishLocation: 'Container'
我在 GitHub 托管的一个项目中申请了 CI/CD。该项目分为两个子文件夹,其中一个包含 asp.net core web API 项目,另一个是 angular 项目。我已经成功地为 asp.net 核心项目构建了 ci/cd,但是当我为 angular 项目构建 ci/cd 时,CI 部分出现错误
##[error]Publishing build artifacts failed with an error: Not found
PathtoPublish: /home/vsts/work/1/s/dist
我的管道 yml 脚本是:
trigger:
- master
pool:
vmImage: 'ubuntu-latest'
steps:
- task: NodeTool@0
inputs:
versionSpec: '10.x'
displayName: 'Install Node.js'
- script: |
pushd tritronFrontend
npm install -g @angular/cli@7.3.8
npm install
ng build
displayName: 'npm install and build'
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: 'dist'
ArtifactName: 'dist'
publishLocation: 'Container'
但是当我在网上看到一些教程时,有人建议添加存档文件部分如下:
- task: ArchiveFiles@2
inputs:
rootFolderOrFile: '$(Build.BinariesDirectory)'
includeRootFolder: true
archiveType: 'zip'
archiveFile:'$(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip'
replaceExistingArchive: true
但这是触发错误
##[error]Publishing build artifacts failed with an error: Not found
PathtoPublish: /home/vsts/work/1/s/dist
我已经尝试添加存档文件部分,但没有成功。
改为使用此代码:
trigger:
- master
pool:
vmImage: 'ubuntu-latest'
steps:
- task: NodeTool@0
inputs:
versionSpec: '10.x'
displayName: 'Install Node.js'
- script: |
npm install
npm run build
displayName: 'npm install and build'
workingDirectory: '$(Build.SourcesDirectory)'
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.SourcesDirectory)/dist'
ArtifactName: 'drop'
publishLocation: 'Container'
如果有人想部署 github 上任何特定文件夹中的 angular 应用程序,他必须推送那些特定的 angular 文件夹,在我的情况下,我已经解决了我的问题以下喜欢剧本:
trigger:
- master
pool:
vmImage: 'ubuntu-latest'
steps:
- task: NodeTool@0
inputs:
versionSpec: '10.x'
displayName: 'Install Node.js'
- script: |
pushd tritronFrontend
npm install -g @angular/cli@7.3.8
npm install
npm run build
ng build --prod
displayName: 'npm install and build'
- task: ArchiveFiles@2
inputs:
rootFolderOrFile: 'tritronFrontend/dist'
includeRootFolder: true
archiveType: 'zip'
archiveFile: '$(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip'
replaceExistingArchive: true
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
publishLocation: 'Container'