Websphere Commerce开发人员使用源代码控制进行设置

时间:2012-02-14 23:18:48

标签: websphere websphere-commerce

我还不熟悉Commerce Server及其开发工具。 据我所知,有一个数据库,用于存放被出售的东西。 是否可以设置一个开发基础设施,其中有一个测试服务器和多个开发工作站,并让这些共享数据库? 我还有一个单独的服务器,里面有一个CVS仓库,多个开发人员会手动从CVS服务器上拉,做功,然后办理登机手续。 测试服务器上的构建和部署工具将从CVS中提取,并部署到测试服务器。 我担心的是共享数据库,每个开发工作站都需要它自己的数据库吗? 寻找有关如何最好地处理多个开发人员,一个测试服务器和一个源控制系统的大纲。

4 个答案:

答案 0 :(得分:0)

我从不尝试共享数据库,但我认为这不是一个好主意,因为所有开发环境都可以覆盖其他开发人员更改(在DB中)。

如果开发人员必须修改数据库结构,那可能会伤害每个人。

我建议在每个开发环境中都有一个数据库,不必与测试环境相同。

对于测试服务器的构建和部署是好的。

答案 1 :(得分:0)

这取决于团队有多大?在我工作的大多数小项目中,团队中的每个人都有自己的DB,特别是当DB是Derby / Cloudscape时,但是当涉及使用DB2或Oracle的大项目时,总是建议使用存储在其他机器中的共享DB。比每个人的本地机器。共享机器可能会导致问题,如果一个人删除数据但这可以通过只有一个小的备份等解决,而另一端如果团队中的每个人都有他们自己的数据库,那么Lead将很难确保每个人的数据库都是同步(这是一个小的更新sql需要在每个人的机器上运行,以便他们的工作站在每次从CVS同步代码后都能正常工作,这是日常工作)

答案 2 :(得分:0)

你可以这样做。 IBM确实支持该配置。大多数开发人员使用WCS Developer附带的嵌入式WCS环境。它具有运行时以及Apache Derby作为数据库。

另外,我建议您与IBM产品专家交谈。他们可以告诉您最佳实践,并且您可以在购买软件时访问他。只需打开PMR并询问您的问题。

答案 3 :(得分:0)

为每个开发人员使用本地数据库。

然后使用liquibase之类的东西来管理任何数据库结构更改。 要求将所有数据库更改编写脚本并放入源存储库,然后将liquibase servlet添加到Stores项目中。这样,当开发人员检查新内容时,本地数据库将在重新启动服务器时自动更新。

这有一个额外的好处,你的sql脚本实际上至少经过了一次团队开发人员的测试。

现在,理想情况下,您也会为开发人员使用wcbd。但由于这不会跟踪您的系统上已经运行了哪些脚本,因此编写超级防御性sql脚本(检查此表是否已将列X扩展为Y字符)或者如果是dataload,你可能会覆盖真正不应该的东西。