微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Azure DevOps为Winforms应用程序构建PIpeline

如何解决Azure DevOps为Winforms应用程序构建PIpeline

我有一个WinForms应用程序。我已经为它创建了一个构建管道,但是无法在Artifacts中得到任何东西。

实际上,我需要在Zipped文件夹中构建项目。相同的任何参考将不胜感激。

以下是管道的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()

解决方法

假设您的构建输出位于$(Build.SourcesDirectory)/YourProject/bin/release/',则可以使用archive task

- 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

,然后将其放入archiveFile $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip'

将此步骤放在PublishBuildArtifacts之前,应该没问题。请仔细检查您的二进制文件的输出路径(我的意思是这个$(Build.SourcesDirectory)/YourProject/bin/release/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。