Не удается увидеть артефакты сборки после завершения конвейера Azure - PullRequest
0 голосов
/ 15 октября 2019

У меня очень простой конвейерный 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

Ответы [ 4 ]

2 голосов
/ 15 октября 2019

Вы можете добавить что-то подобное (скопировать в папку артефактов и опубликовать):

- 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()
1 голос
/ 15 октября 2019

Я основал свой ответ на документации 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'
0 голосов
/ 15 октября 2019

Попробуйте добавить задачу 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'

enter image description here

0 голосов
/ 15 октября 2019

Вы должны опубликовать свой артефакт сборки, используйте это задание:

Publish Artifact

После этого вы можете проверить свои артефакты в разделе Сводка:

Artifact

...