我目前正致力于自动化/改进包装我店的整个产品的发布过程。目前该产品的组合:版本信息的最佳实践?
- Java服务器端代码库
- XML配置和应用程序文件
- 壳牌和批处理脚本为管理员
- 静态地提供HTML页面
- 和一些其他的东西,但大部分是这样的
所有或大部分都有其中包含各种版本信息,我们编辑出于各种目的。发布打包过程的一部分涉及到很多发现,grep'ing和sed'ing(用脚本)来更新信息。这种包装产品的粘合剂似乎已经以有机的,即时的方式拼凑在一起,并且保持非常可怕。例如,一些Java方法在发布时创建Date对象,其参数通过文本替换进行更新,而无需编译器验证......只是,urgh。
我试图避免给出使用实际软件(即CVS,SVN,蚂蚁等)的例子,因为我想避免“使用xyz的功能来做到这一点”,并更多地关注一般实践。我想为这个问题指责劣质设计,但如果我必须重新开始,仍然使用不同的技术,我不确定如何最好地处理这个问题,而不是放下约定。
我的问题是,是否有任何最佳实践或提示和技巧来维护和更新跨不同技术,文件类型,平台和版本控制系统的版本信息?