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'