首页 > 解决方案 > 封闭基础设施中的应用程序部署

问题描述

我们的团队采用敏捷开发风格。我们的桌面应用程序安装在超过 5 千台计算机上。这些计算机在客户网络中。网络中有分布点,但有一个点是主要的。这意味着我们将二进制文件复制到主点,然后分发到所有分发点以安装客户端计算机。对我们来说,这意味着大量的手工工作。我们有自己的 Azure DevOps 服务器 (TFS),由于源代码安全,它没有与客户 newtork 连接。我们可以通过某个共享文件夹复制二进制文件,但不能复制其他文件。我们如何进行应用部署?有以下步骤: 1) 将二进制文件复制到主分发点。2) 通过 xdelta 工具创建增量。3) 通过 robocopy 将所有新文件复制到所有分发点。4) 复制完成后,我们更改清单文件中的版本并再次复制。

我想使用 Jenkins 来自动化这些步骤。问题是客户说他不想在他的服务器上安装任何其他软件。所有步骤都需要在客户网络中完成。我应该使用什么 devops 工具通过管道自动执行这些步骤?当我们复制到分发点时,它与数据库部署一样是并行的,因为有 70 多个数据库实例。

这不是关于一个应用程序。我们有更多的应用程序,我们希望更有效地部署它们。

谢谢你。

解决方案:我通过使用 MSDeploy 工具解决了这个问题。我编写了自己的小应用程序,它可以读取简单的 XML 配置工具并通过 MSDeploy API 启动 MSDeploy。DacPac 部署由 SqlPackage.exe 解决。所以我可以使用所有引用和依赖部分部署整个应用程序。

标签: deploymentdevops

解决方案


我认为您需要一个配置管理工具来推出桌面软件 Windows 客户端。微软内部解决方案是这样的:https ://docs.microsoft.com/en-us/configmgr/


推荐阅读