• 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 

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

  • 相关阅读:
    基于自适应自回归模型的高级人工智能概念及其实现
    android gradle 开发与应用(一) : Gradle基础
    vue3 中使用echarts图表——柱状图
    2.01_python+Django+mysql实现pdf转word项目_项目开发- 创建Django项目
    前端开发中的try...catch
    项目管理软件有哪些,哪个好用?
    字节首席架构师整合面试痛点,成就399页Java框架核心宝典
    ROS2自学笔记:参数
    攻防世界WEB练习区(view_source、get_post、robots)
    Charles 抓包工具教程(三) Charles模拟弱网环境
  • 原文地址:https://www.cnblogs.com/AllenMaster/p/17334566.html