liferay如何搭建团队开发部署?

How to set up liferay for team development and deployment?

我正在研究如何设置具有版本控制和自动部署的 liferay 项目。我在 eclipse 中有一个工作的本地开发环境,但据我了解,在 liferay 中设置门户部分是 tomcat 上的 liferay 门户实例 运行,然后是用于自定义的自定义模块项目.我基本上希望所有这些都在一个 git 存储库中,然后可以

1:由任何开发人员克隆以设置其本地开发环境

2:由 eg 构建和部署。詹金斯进入例如。 AWS

我查看了有关为门户创建 docker 容器的 liferay 文档,但我不完全理解如何处理门户内容等内容。

如果有人能引导我在正确的方向上如何建立这样的环境,我将不胜感激。

代码和内容是不同的野兽。为每个开发人员设置一个本地 Liferay 实例。 Share/version 通过任何版本控制的代码(你提到 git)。

这样,每个开发人员都可以处理自己的项目、设置断点并创建不干扰其他开发人员的内容。

设置一个单独的集成测试环境,仅通过您的 CI 服务器获取其代码,永远不会被手动修改。

您的生产(或预生产)数据库可能会有完全不同的内容:开发人员快速创建一些 "Lorem Ipsum" 帖子和页面,您不希望它们逃逸到生产中。因此,没有内容从开发到生产的移动。只有代码以这种方式移动。

如果您希望您的开发人员在类似生产的环境中工作,您可以将生产内容(数据库)恢复到开发机器上。请注意,这是有风险的:数据库还包含用户帐户,您可能会触发来自您的开发机器的更新通知邮件——这是您想要不惜一切代价避免的事情。另外,通过这种方式,您可以让开发人员访问可能被滥用的登录数据(即使它是散列的)。甚至可能被行业法规明确禁止在开发环境中使用生产数据。

总的来说:每个系统都有自己的数据库(至少有自己的架构)、文档存储和索引服务器。每个开发人员都有自己的门户 JVM 运行。其他环境(集成测试、负载测试、创作、生产)也是独立的环境。不,你不需要所有的时间。

我无法归因于这句话(Milen 可以 - 看到他的评论),但它在这里:

Everybody has a testing environment. Some are lucky to run a completely different production environment.

成为幸运儿。如果每个人都有自己完全独立的环境,就没有人会踩到对方的鞋子。无论如何,您都需要集成测试(带有 CI 输出)。