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

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

时间:2023-04-19 23:15:35浏览次数:41  
标签:inputs task 程序包 DevOps 编译 Azure 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!!!

标签:inputs,task,程序包,DevOps,编译,Azure,WPF
From: https://www.cnblogs.com/AllenMaster/p/17334566.html

相关文章

  • WPF 给控件增加圆角效果注意事项
    一般都使用Border包住需要增加圆角效果的控件,但是有一些地方需要注意:<BorderCornerRadius="8"Background="Red"><TextBlockBackground="Red"Margin="4"Height="20"FontSize="8"Foreground="White"/>......
  • WPF 绑定注意事项二
    1.通用静态快捷键绑定命令cs:publicstaticKeyBtnReferHotKey=Key.F7;xaml:<UserControl.InputBindings><KeyBindingKey="{x:Staticcommon:Common.BtnReferHotKey}"Command="{BindingCmdSelectFromMaterial}"CommandParameter=&......
  • 【Azure 应用服务】当在Azure App Service的门户上 Log Stream 日志无输出,需要如何操
    问题描述在AzureAppService的门户上LogStream日志无输出,需要如何操作让其输出ApplicationLogs呢?如下图所示:问题解答请注意,上图中提示说:Applicationlogsareswitchedoff. YoucanturnthemonusingtheAppServiceLogsSettings.应用日志关闭,可以通过AppServiceL......
  • 界面控件DevExpress WPF甘特图组件,让项目管理拥有极佳性能!
    DevExpressWPF Gantt(甘特图)控件允许开发者在任何WPF桌面应用程序中快速集成项目计划和任务调度功能。在上文中(点击这里回顾>>)我们介绍了DevExpressWPF甘特图的性能、动态缩放等,本文将继续分享甘特图的其他功能,持续关注我们获取更多产品中文资讯哦~DevExpressWPF拥有120+个控......
  • 用postman模拟“授权代码授予”模式下获取Azure的用户信息(UserInfo)
    用postman模拟“授权代码授予”模式下获取Azure的用户信息(UserInfo)1.准备参数:图1:图2:2.调用:点击按钮“GetNewAccessToken”,如果成功那么会弹出如下对话框:3.读取AccessToken:点击按钮“Proceed”,如果成功那么会弹出如下对话框:4.调用UserInfo:点击按钮“UseToken......
  • 【Azure Redis 缓存】Azure Redis 遇见的连接不上问题和数据丢失的情况解答
    问题描述PHP应用再连接AzureRedis服务时,出现ConnectionTimedout。当通过升级提高AzureRedis的性能时候,发现之前的数据丢失了。 问题解答当Redis服务出现Timeout的情况时,可以从Redis服务的指标(Metrics)开始查看,如果出现负载(ServiceLoad)很高的情况,表明当前Redis服务的资源已......
  • 【Azure Redis 缓存】Azure Redis 遇见的连接不上问题和数据丢失的情况解答
    问题描述PHP应用再连接AzureRedis服务时,出现ConnectionTimedout。当通过升级提高AzureRedis的性能时候,发现之前的数据丢失了。 问题解答当Redis服务出现Timeout的情况时,可以从Redis服务的指标(Metrics)开始查看,如果出现负载(ServiceLoad)很高的情况,表明当前Redis服务的......
  • WPF版本问题排坑记录
    先说结论:珍爱生命,远离不明第三方组件库。问题描述:今早摸鱼的时候看见狼哥一个开源项目,我非常感兴趣!结果clone下来之后,没跑起来?嗯?我姿势不对?好!我再跑!结果还是run不起来,无奈求教狼哥本人,狼哥亲自clone之后没在他的机器上重现我这个bug。因为报错的这个库是nuget拉下来的,我们......
  • WPF中Binding使用StringFormat格式化字符串方法
    https://blog.csdn.net/weixin_34040079/article/details/89587412 原文: WPF中Binding使用StringFormat格式化字符串方法 货币格式<TextBlockText="{BindingPrice,StringFormat={}{0:C}}"/>//$123.46货币格式,一位小数<TextBoxText="{BindingPrice,Str......
  • 如何在 DevOps 中进行 API 全生命周期管理?
    随着DevOps理念在中国企业当中的普及和发展,中国企业DevOps落地成熟度不断提升,根据中国信通院的数据已有近6成企业向全生命周期管理迈进。而在研发全生命周期管理之中,API管理的地位愈发显得重要。随着API数量的大幅增长,也带来了新的API管理需求。如何在DevOps工作流中......