构建软件补丁的良好实践是什么?

本文关键字:是什么 软件 补丁 构建 | 更新日期: 2023-09-27 18:05:10

我最近负责一个软件产品,它的发展相当无组织,我已经建立了一个新的项目结构,一个源代码存储库,问题跟踪和构建系统使用nant和teamcity。我现在所处的位置是,每次提交到一个主要分支的代码都会被编译、测试并构建到一个设置中。

总是构建和运输完整的设置对我来说似乎是错误的,我想建立某种自动化补丁构建,但我不知道如何做到这一点。你有什么建议吗?或者我可以在哪里找到一些关于这个主题的信息?到目前为止,谷歌还没有提供任何帮助。

关于我当前设置的更多细节:

存储库:- git:——2大分支:development和master

构建系统:——teamcity- 2种配置:一种用于建造每个分支-构建只包含一个构建步骤:——nant runner: nant脚本是存储库的一部分,包含以下目标:clean, init, compile, test, deploy, build_setup(使用inno setup)

我想我将不得不把nant脚本分成几部分,并使用不同的构建步骤,以某种方式将新的构建工件与旧的构建工件进行比较,并创建包含更新文件的补丁。我在正确的轨道上,如果是,谁知道一个很好的例子或教程如何设置teamcity.

构建软件补丁的良好实践是什么?

除非您拥有的是一个巨大的几兆字节的最终用户应用程序,否则生成补丁(我假设您希望最小化)是一项艰巨的任务,因为您必须提供从每个以前版本到最新版本的补丁。

或者,你可以投资于自动更新基础设施,这样每当新版本发布时,应用程序就会自动更新。

对于每次提交构建设置,我个人认为这是不必要的,除非你不断地测试设置程序本身。相反,应该在发布的时候手动触发完整的构建。

你应该看看像微软的ClickOnce的更新/补丁。