• 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 分支有变动后,就会立即执行管道作业,可以确保我们不必再人工拉取代码,编译,发布二进制程序包了。

    三,结尾

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

    作者:Allen 

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

  • 相关阅读:
    WhatsApp Business 与 Google My Business:它们的运作方式和不同之处
    数据结构与算法-----顺序表(链表篇)
    基于springboot+Vue的学生实践管理平台开发
    android 自学资料
    Monaco Editor教程(十六):缩略图minimap的配置详解
    【音视频播放器测试】确保卓越的媒体体验
    SAP Spartacus 和 CDC 集成的 HTTP 请求明细
    【scala】foreach,forall,map,exists对比
    学神经网络需要什么基础,神经网络快速入门
    时空预测 | 线性时空预测模型、图时空预测
  • 原文地址:https://www.cnblogs.com/AllenMaster/p/17334566.html