在过去,我的开发团队主要针对现有应用程序进行瀑布式开发,部署只是在发布结束时才真正完成,通常会导致TEST,UAT,PROD版本通常只包含三到五个版本月周期.
发行版是通过组策略部署的MSI安装程序.
我们现在已经转向更灵活的方法,并且每天至少需要发布一次用于测试的版本,有时更频繁.
该应用程序是一个VB6应用程序,MSI正在为我们处理COM注册,用户没有在其计算机上提升权限.
有没有人有更好的快速部署解决方案?
我们已经考虑了MSI的批量/脚本安装,或者每个文件进行COM注册,使用CPAU来提升权限,以及ClickOnce.这些都没有经过测试.
编辑:感谢您的建议.为了澄清,我的痛点是MSI构建/部署过程需要很长时间,最多可能需要两个小时才能将新版本构建到测试人员桌面上.测试人员不在他们的机器上管理权限(并且不会获得他们)所以我正在寻找更好的解决方案.
我使用了ClickOnce,使用了一个启动应用程序的点网络包装器,并将所有OCX/DLL vb6程序集作为独立的依赖项,但是在启动时找到所有程序集时遇到问题,或者发出相应的消息.
对于具有灵活输出的构建,CruiseControl和Nant可能是您最好的选择.但快速部署?
我担心的是你正在以错误的方式看待每日构建.日报不需要广泛部署.事实上,质量保证和开发是唯一应该关注日常构建的人.那么,开发者不应该不同步;).
客户团队应该只在迭代结束时接收构建.在那里,您向他们展示您所做的事情并提供反馈,然后您从那里继续前进.每天给他们建造可能会导致恶性鞭打,从而扼杀你的速度.
总而言之,一个好的部署包可能对QA有利.但同样,这取决于它们与您的开发迭代的步骤.我的经验,无论是对还是错,QA是一次迭代,重新测试上一次迭代的可交付成果.从这个角度来看,他们也应该使用最后一个"稳定"版本进行测试.
这是你可以在虚拟机中做的事吗?您可以安全地为测试人员提供虚拟化系统的管理权限,并且大多数虚拟化软件都有某种形式的版本控制,因此如果出现问题,您可以回滚到"良好"状态.我发现它对测试非常有用.