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