Azure DevOps(一)基于 Net6.0 的 WPF 程序如何进行持续集成、持续编译
一,引言
我们是否正在为如何快速的编译、部署客户端应用程序而烦恼?这也是博主最近遇到的问题。目前博主所在公司主要做项目级的定制化开发,多以 C/S 架构的 WPF 程序为主,每次到了协助开发团队给实施团队编译好的要测试程序包时,就会出现多人协助,编译、打包好的二进制程序包 pull 最新代码 ,以及实施同事无法及时的获取到有新程序发布的通知等问题。有了这样的背景,博主所在团队开始准备开始了解,使用团队协作系统 ----- Azure DevOps,通过自动化软件交付来为用户提供持续价值。
--------------------Azure DevOps 系列--------------------
1,Azure DevOps(一)基于 Net6.0 的 WPF 程序如何进行持续集成、持续编译
2,Azure DevOps(二)Azure Pipeline 集成 SonarQube 维护代码质量和安全性
3,Azure DevOps(三)Azure Pipeline 自动化将程序包上传到 Azure Blob Storage
二,正文
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 分支有变动后,就会立即执行管道作业,可以确保我们不必再人工拉取代码,编译,发布二进制程序包了。
三,结尾
作者:Allen
版权:转载请在文章明显位置注明作者及出处。如发现错误,欢迎批评指正。