1
6
我工作的地方也有类似的问题,但也许没有那么复杂。 我们的反应是完全消除了补丁的概念。我们停止了修补,开始简单地安装整个应用程序(即使我们只做了一个小改动)。 现在,我们有了巡航控制构建完整的安装工具包,恰好在安装工具包名称中包含构建时间戳。这是一个巡航控制构建工件。 巡航控制自动将它们安装在测试服务器上,并运行一些自动烟雾测试。然后我们在测试服务器上运行手动测试。然后我们将工件安装到一个临时服务器上,然后安装到生产服务器上。 摆脱修补导致一些人语无伦次,“如果你只是改变一些事情,那不是浪费吗?”“为什么要覆盖所有的软件来修补某些东西?” 但事实是,良好的源代码控制、自动安装工具包构建和一步安装为我们节省了大量时间。安装确实需要几秒钟的时间,但我们可以更重复地安装,而且开发人员的工作量也更少。 |
2
0
我们还试图向补丁/修补程序版本以及基于RPM的完整安装包的发布迈进。 我必须说,我也同意,在大多数情况下,这项工作是一种浪费,我也会发布完整的安装包,假设您已经建立了一个构建管道。 在我们的案例中,我们有一个多模块交付,每个模块包装成一个RPM,并包装成一个ISO进行交付。我们的目标是保持构建管道基本不变,以释放修补程序。因此,我们将重点放在使我们的RPM更细粒度(更小-更具针对性的RPM)上,这样我们就只能发布那些包含特定修补程序/补丁的已更改工件的RPM。 这样,完全发布的RPM和补丁版RPM是相同的,唯一的区别是您在交付ISO中打包的RPM的数量。 我还有一个问题要解决这个问题,你可以看看: |
Mr.H. · 如何在外部文件中定义函数? 6 年前 |
Jon Goe · 实现SeekArc时生成同步失败 6 年前 |
Farzad J · VSTS中PowerShell脚本的打包管理器 6 年前 |
vladfau · Maven没有在多模型项目中构建兄弟依赖关系 6 年前 |