通用设计,用于打包用户变更以进行部署

时间:2020-03-05 18:41:49  来源:igfitidea点击:

确定一个真实的问题,我想为我开发的系统的用户添加能力,以使程序包一起进行一组更改,以便他们可以将其更改包部署到验收测试环境,进行测试,然后在稍后(如果测试成功)将更改包部署到实际环境中。

在这种情况下,系统是J2EE webapp更新关系数据库记录,但是似乎这种打包和部署功能实际上并不需要特定于我的应用程序,并且如果我以正确的方式进行操作的话,可以是可重用的可插入功能。

任何人都知道可能适用的任何现有解决方案,或者就如何最好地解决该问题获得了任何建议?

解决方案

回答

因此,如果我没看错的话,我们就是想让最终用户能够从一个系统中进行一组交易,然后在另一个系统上自动运行它们。

我建议分两步设计一些东西。首先,建立机制。我认为这将需要构建一个简单的脚本引擎,该引擎接受带有顺序列出的命令的平面文件。测试功能并确保命令可以正常工作。

第二步是使其对最终用户友好。对于大多数用户而言,这意味着某种类型的"脚本生成器"工具将使他们易于创建可移植脚本。

如果设计时考虑了可移植性,则此类型的解决方案应该是可移植的。 :D

回答

如果我们在Linux环境中运行,请签出RPM。我过去建立的系统会自动从CVS中检出一段代码,打包,将其传输到Prod / UAT系统,运行测试并安装它,运行更多测试并生成状态电子邮件。

使用RPM的最好之处在于,我们可以卸载软件包并配置脚本(在RPM中保存),以在(卸载)安装之前或者之后执行任何类型的自定义任务。