Конвейер сборки Azure DevOps для приложения Winforms

#.net #winforms #azure-devops #azure-pipelines #devops

#.net #winforms #azure-devops #azure-конвейеры #devops

Вопрос:

У меня есть приложение WinForms. Я создал конвейер сборки для того же, но не смог ничего получить в артефактах.

На самом деле мне нужна сборка проекта в архивированной папке. Любая ссылка на то же самое будет оценена.

Ниже приведен файл Yaml для конвейера.

 trigger:
- master

pool:
  vmImage: 'windows-latest'

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

steps:
- task: NuGetToolInstaller@1

- task: NuGetCommand@2
  inputs:
    restoreSolution: '$(solution)'

- task: VSBuild@1
  inputs:
    solution: '$(solution)'
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'

- task: VSTest@2
  inputs:
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'

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

Ответ №1:

Предполагая, что ваш результат сборки находится здесь, $(Build.SourcesDirectory)/YourProject/bin/release/' вы можете использовать задачу архивирования

 - task: ArchiveFiles@2
  inputs:
    rootFolderOrFile: '$(Build.SourcesDirectory)/YourProject/bin/release/'
    #includeRootFolder: true 
    #archiveType: 'zip' # Options: zip, 7z, tar, wim
    #tarCompression: 'gz' # Optional. Options: gz, bz2, xz, none
    #archiveFile: '$(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip' 
    #replaceExistingArchive: true 
    #verbose: # Optional
    #quiet: # Optional
  

и затем он помещает его в архивный файл $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip'

Поместите этот шаг перед PublishBuildArtifacts , и все должно быть в порядке. Пожалуйста, дважды проверьте свой путь вывода для ваших двоичных файлов (я имею в виду это $(Build.SourcesDirectory)/YourProject/bin/release/ )

Комментарии:

1. Thanks Krzysztof. Я могу получить желаемый результат.