在.NET连续集成方案中,我在哪里存储MSI文件?

在.NET连续集成方案中,我在哪里存储MSI文件?,.net,installation,windows-installer,nuget,.net,Installation,Windows Installer,Nuget,我目前正在为.Net项目设置持续集成/部署方案。我目前正在使用NuGet来管理项目的依赖项以及在构建过程中创建的工件。开发人员在NuGet存储库中存储msi包是常见的做法吗?我还没有在网上看到一个这样的例子。我不认为这项技术是为托管安装程序而设计的。是否有其他技术可以维护用于安装程序版本控制的存储库?也遇到了这种情况,很少有人真正了解构建CI部署管道时遇到的独特问题 从在Microsoft Windows上、在企业环境中安装系统级软件的角度来看。。。。MSI确实是理想的选择,它们可以保护系统免受

我目前正在为.Net项目设置持续集成/部署方案。我目前正在使用NuGet来管理项目的依赖项以及在构建过程中创建的工件。开发人员在NuGet存储库中存储msi包是常见的做法吗?我还没有在网上看到一个这样的例子。我不认为这项技术是为托管安装程序而设计的。是否有其他技术可以维护用于安装程序版本控制的存储库?

也遇到了这种情况,很少有人真正了解构建CI部署管道时遇到的独特问题

从在Microsoft Windows上、在企业环境中安装系统级软件的角度来看。。。。MSI确实是理想的选择,它们可以保护系统免受可怕的脚本攻击,并提供一定程度的可靠性,而这在其他方面是不可用的

然而,从CI的角度来看,MSI并没有在您可以找到的所有地方进行本机集成。我们使用“八达通”式部署,在nuget中有一个部署包,我们称之为“NuGetDeploy”包

WinRM到目标框,nuget还原“NuGetDeploy”包,并进行MSI安装


请记住,对于不能使用webdeploy之类的工具的系统级软件,这是唯一正确的选择。

您的项目是msi安装程序还是使用msi安装程序?没关系,我重读了你的帖子你正在使用nu get软件包,这些软件包包含在一个可安装的软件包中。你在使用版本控制软件吗?您是否有带有msbuild或ant的专用生成服务器?您是否使用任何ci管理工具,如cruise control.net/team city/tfs?我使用的是NuGet/MSBuild/Wix/Jenkins/。现在,我想将构建的msi工件存储在一些管理系统中,以便在部署或以后检索。我想这类似于在构建之后压缩所有二进制文件。但是,您正在进一步创建一个可安装的映像。听起来msi是特定构建的CI周期的端点。将构建后的msi保存到一个以版本命名的目录中就足够了吗?这不仅会将其存储到一个目录中,而且会使组织中的开发团队可以使用这些版本。这会导致发布/删除/查看/查找/搜索/安全性方面的大量工作。我希望有一个解决方案可以管理这个功能。目前,我看到的唯一解决方案是将这个MSI推向nuget repo,这超出了惯例。