簡體   English   中英

Azure 管道完成后看不到我的構建工件

[英]Can't see my build artifacts after Azure Pipeline finished

我有一個非常簡單的管道 yaml(見下文)

我想要的是在我的解決方案中構建項目,並保留創建的工件,以便我可以在單獨的發布管道中將它們發布到 Azure。

我記得以前做過類似的事情,當它起作用時,我可以在成功的構建列表項旁邊看到一個查看構建工件的選項。 但是我再也看不到這樣的事情了。

我在這里想念什么?

管道:

trigger:
- master

pool:
  vmImage: 'ubuntu-latest'

variables:
  solution: '**/*.sln'
  buildPlatform: 'Any CPU'
  buildConfiguration: 'Release'

steps:
- task: DotNetCoreCLI@2
  inputs:
    command: 'restore'
    projects: '**/*.csproj'
- task: DotNetCoreCLI@2
  inputs:
    command: 'build'
    projects: '**/*.csproj'
    zipAfterPublish: true

您可以添加類似的內容(復制到工件文件夾並發布):

- task: CopyFiles@2
       displayName: 'Copy Files to: $(build.artifactstagingdirectory)'
       inputs:
       SourceFolder: '$(system.defaultworkingdirectory)'
       Contents: '**\bin\$(BuildConfiguration)\**'
       TargetFolder: '$(build.artifactstagingdirectory)'
       condition: succeededOrFailed()

- task: PublishBuildArtifacts@1
       displayName: 'Publish Artifact: drop'
       inputs:
       PathtoPublish: '$(build.artifactstagingdirectory)'
       condition: succeededOrFailed()

你必須發布你的構建工件,使用這個任務:

發布工件

之后,您可以在摘要下檢查您的工件:

人工制品

嘗試添加 CopyFiles 任務和 PublishBuildArtifacts 任務:

variables:
  solution: '**/*.sln'
  buildPlatform: 'Any CPU'
  buildConfiguration: 'Release'

steps:
- task: DotNetCoreCLI@2
  inputs:
    command: 'restore'
    projects: '**/*.csproj'
    feedsToUse: 'config'
- task: DotNetCoreCLI@2
  inputs:
    command: 'build'
    projects: '**/*.csproj'
    zipAfterPublish: true

- task: CopyFiles@2
  displayName: 'Copy Files to: $(Build.ArtifactStagingDirectory)'
  inputs:
    SourceFolder: '$(agent.builddirectory)'
    TargetFolder: '$(Build.ArtifactStagingDirectory)'

- task: PublishBuildArtifacts@1
  displayName: 'Publish Artifact: drop'

在此處輸入圖像描述

我的回答基於 ms 文檔(所有詳細信息都可用https://docs.microsoft.com/en-us/azure/devops/pipelines/ecosystems/dotnet-core?view=azure-devops )。

基於 DotNetCoreCLI 的三個任務(恢復、構建和發布到正確的目錄)和最后一個任務將工件發布到提要。

trigger:
- master

pool:
  vmImage: 'ubuntu-latest'

variables:
  solution: '**/*.sln'
  buildPlatform: 'Any CPU'
  buildConfiguration: 'Release'

steps:

- task: DotNetCoreCLI@2
  displayName: Restore
  inputs:
    command: restore
    projects: '**/*.csproj'

- task: DotNetCoreCLI@2
  displayName: Build
  inputs:
    command: build
    projects: '**/*.csproj'
    arguments: '--configuration $(buildConfiguration)' # Update this to match your need

- task: DotNetCoreCLI@2
  displayName: Package
  inputs:
    command: publish
    publishWebProjects: True
    arguments: '--configuration $(buildConfiguration) --output $(Build.ArtifactStagingDirectory)'
    zipAfterPublish: True

# this code takes all the files in $(Build.ArtifactStagingDirectory) and uploads them as an artifact of your build.

- task: PublishBuildArtifacts@1
  displayName: "Publish as artifact"
  inputs:
    pathtoPublish: '$(Build.ArtifactStagingDirectory)' 
    artifactName: 'myWebsiteName'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM