【发布时间】:2019-03-19 20:35:23
【问题描述】:
我们正在建立一个新的 Azure DevOps 管道,以将我们的(糟糕的)旧版软件部署到我们的私有服务器上。我们的目标是使用修改后的 Git Flow 流程为开发、阶段和生产(或发布)服务器构建和部署我们的软件。我们使用 Cake 脚本和 Powershell 脚本来构建我们软件的不同部分。
我的软件经理提出的一项要求是为我们的软件构建 MSI 包(至少在我们发布新版本时用于生产版本)。由此产生两个问题:
1) 后端软件由几个项目组成,这些项目相互之间存在各种奇怪的依赖关系(以及外部 SSIS 项目,我们需要将其视为项目之外的“黑匣子”,我无法控制over),以及 1 个可执行文件,它使用了其他项目构建中的大部分但不是全部的 DLL。
前端软件是一个 Sitecore 项目,它只是一堆 DLL 和文件,需要从一个地方复制到另一个地方,并重启 IIS 以刷新服务器。
后端和前端可能会有单独的安装项目。但是在每个设置项目中,我是否只是将所有已构建项目的输出添加到应用程序文件夹中,并希望它们都放在 MSI 安装时的正确输出文件夹中?
2) 我如何从 Cake Build 和/或 Powershell 实例化安装项目(构建安装程序的项目)的构建?我想确保这仅适用于我们从主分支构建的发布版本。有没有我需要了解的 Azure 工具。
请理解,因为这是我第一次完整的 DevOps 实施,自从上学以来我已经有 10 年没有构建过 .NET 安装程序包了,而且我的 Powershell 技能很糟糕(来自 Web 开发/Linux 世界)。
【问题讨论】:
-
确实有很多东西。为了提高效率,我通常使用FinalBuilder 进行自动化和构建。它是商业的。本质上是一个图形外壳,能够通过所需的任何机制(命令行、COM 等)调用几乎“任何东西”。只是更快-我的主观意见。带您从源代码签出、构建、设置分发、上传和电子邮件发送等一路走来…… WiX 很好,如果您不了解它,有一个学习曲线。有several devployment tools。
标签: .net powershell azure-devops windows-installer cakebuild