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

博客 分享
0 129
优雅殿下
优雅殿下 2023-04-19 23:27:27
悬赏:0 积分 收藏

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

一,引言

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

二,正文

1, Azure DevOps 创建项目

Project name:”NetCore_WPF_Sample“

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

Version control:”Git“

Work item process:”Agile“

点击 ”Create“ 创建新的项目

2,配置 Azure DevOps 流水线

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

选择 ”GitHUb“ Yaml

选择好需要项目,开始配置 ”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()

调整完 yml 文件后,点击 ”Run“ 执行 pipeline 

点击 ”Run“ 开始执行

此时我们的 pipeline 任务正在执行,我们可以点击 ”Job“ 查看详细作业

 作业完成后,我们就可以看到编译好的程序包

 点击 ”Download artifacts“ 直接下载编译好的二进制程序包

Bingo!!!????????????????

此演示步骤实现了 NET 的桌面应用程序的持续集成与持续编译,当我们 pipeline 监测到 master 分支有变动后,就会立即执行管道作业,可以确保我们不必再人工拉取代码,编译,发布二进制程序包了。

三,结尾

   通过 Azure DevOps 的 Pipeline 实现的开发团队协助是一个不错的选择。今天的内容也主要是实战操作,大家也多多练习。熟能生巧。本文所分享的内容也存在着很多我自己的一些理解,有理解不到位的,还希望多多包涵,并且指出不足之处。

作者:Allen 

版权:转载请在文章明显位置注明作者及出处。如发现错误,欢迎批评指正。

posted @ 2023-04-19 22:53  Grant_Allen  阅读(11)  评论(0编辑  收藏  举报
回帖
    优雅殿下

    优雅殿下 (王者 段位)

    2012 积分 (2)粉丝 (47)源码

    小小码农,大大世界

     

    温馨提示

    亦奇源码

    最新会员