我将如何通过Azure Pipelines发布或部署我的WPF应用程序(.Net Framework 4.7.2)(这意味着同样的意思?)。
我对使用什么有点困惑。有所有这些术语,例如工件,发行,发布,登台。我不确定我需要使用什么任务。
答案 0 :(得分:0)
让我们看一个典型的场景,以便您最好地了解术语。当然,这只是一个例子。
您在Azure DevOps存储库中有多个git存储库。这些git存储库之一是一个公共库,该库在您公司的多个项目之间共享。另一个是用WPF编写的公司旗舰应用程序,内部有100名员工使用。最后,有一个门户网站供外部客户提交订单。这些git储存库中的每一个都有适当的分支策略,以防止直接检入master分支(需要拉取请求)。
开发团队A致力于技术团队的核心功能,他们会更新通用库。作为构建管道的一部分,将编译该库并生成一个NuGet包。然后,管道会将程序包发布到您的私有Azure DevOps Artifacts提要中,以便其他开发团队可以使用该程序包。
开发团队B致力于旗舰WPF应用程序。作为构建管道的一部分,管道将编译应用程序。它创建bin目录的构建工件。管道的另一阶段将使用工件并将其发布到测试环境,并在数据库上设置一个标志,表明当前测试版本是刚发布的版本。开发团队启动测试应用程序时,由于该版本在数据库中已递增,因此它会自动更新。
开发小组C在Web应用程序上工作。作为构建管道的一部分,管道将编译应用程序。它将Web应用程序部署到测试Web服务器。测试Web应用程序可立即提供给开发团队进行测试。
稍后,当迭代周期完成时,将冻结代码。代码冻结涉及DevOps团队手动运行构建管道。因为管道是手动运行的,所以第一个管道会将WPF应用程序部署到登台环境中,并且版本号在数据库中递增。第二个管道将Web应用程序部署到绿色服务器。
开发团队进行最后一轮测试,以确保没有导致停止的错误。一旦做好准备,便可以将WPF应用程序推送到所有员工桌面,从而从登台环境中释放该应用程序。该Web应用程序的发布过程包括翻转一个开关,以便绿色服务器(更新的Web应用程序)处于活动状态,网络开关指向绿色服务器,然后蓝色服务器(旧的Web应用程序)关闭。
如果出现任何重大问题,可以通过将网络开关从绿色服务器切换回蓝色,然后将WPF应用程序的较旧版本部署到员工桌面等来回滚事情。
这只是一个例子,当然这不是唯一的方法。