一,引言

  我们是否正在为如何快速的编译、部署客户端应用程序而烦恼?这也是博主最近遇到的问题。目前博主所在公司主要做项目级的定制化开发,多以 C/S 架构的 WPF 程序为主,每次到了协助开发团队给实施团队编译好的要测试程序包时,就会出现多人协助,编译、打包好的二进制程序包 pull 最新代码 ,以及实施同事无法及时的获取到有新程序发布的通知等问题。有了这样的背景,博主所在团队开始准备开始了解,使用团队协作系统 ----- Azure DevOps,通过自动化软件交付来为用户提供持续价值。

二,正文

1, Azure DevOps 创建项目

Project name:”NetCore_WPF_Sample“

Visibility:”Private“(根据实际项目需求)

Version control:”Git“

Work item process:”Agile“

点击 ”Create“ 创建新的项目

Azure DevOps(一)基于 Net6.0 的 WPF 程序如何进行持续集成、持续编译-LMLPHP

2,配置 Azure DevOps 流水线

选择 ”Pipelines =》“pepelines“,点击 ”Create Pipeline“ 创建持续集成管道

Azure DevOps(一)基于 Net6.0 的 WPF 程序如何进行持续集成、持续编译-LMLPHP

选择 ”GitHUb“ Yaml

Azure DevOps(一)基于 Net6.0 的 WPF 程序如何进行持续集成、持续编译-LMLPHP

选择好需要项目,开始配置 ”azure-pipelines.yml“

# .NET Desktop
# Build and run tests for .NET Desktop or Windows classic desktop solutions.
# Add steps that publish symbols, save build artifacts, and more:
# https://docs.microsoft.com/azure/devops/pipelines/apps/windows/dot-net

trigger:
- master

pool:
  vmImage: 'windows-latest'

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

steps:
- task: NuGetToolInstaller@1

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

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

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

- task: PublishSymbols@2
  displayName: 'Publish symbols path'
  inputs:
    SearchPattern: '**\bin\**\*.pdb'
    PublishSymbols: false
  continueOnError: true

- task: CopyFiles@2
  displayName: 'Copy Files to: $(build.artifactstagingdirectory)'
  inputs:
    SourceFolder: 'Standard.Tool.Platform'
    Contents: '**\bin\$(BuildConfiguration)\**'
    TargetFolder: '$(build.artifactstagingdirectory)'
  condition: succeededOrFailed()
04-20 17:34