【问题标题】:Azure DevOps Build PIpeline for Winforms ApplicationAzure DevOps 为 Winforms 应用程序构建管道
【发布时间】:2020-09-09 09:15:51
【问题描述】:

我有一个 WinForms 应用程序。我已经为相同的内容创建了一个构建管道,但无法在 Artifacts 中获取任何内容。

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

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

【问题讨论】:

    标签: .net winforms azure-devops azure-pipelines devops


    【解决方案1】:

    假设您的构建输出在这里$(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/

    【讨论】:

    • 感谢 Krzysztof。我能够得到想要的结果。
    猜你喜欢
    • 2019-06-03
    • 2021-01-21
    • 1970-01-01
    • 2022-11-24
    • 1970-01-01
    • 2020-01-30
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    相关资源
    最近更新 更多