将Liferay门户置于版本控制之下的好方法是什么?这样,我并不是指我们编写的portlet的版本,而是指运行站点的实际布局和配置。
设置新网站时,所有对布局和配置的更改都通过管理控制面板进行。我希望通过版本控制实现的目标是:
当然,内容的状态或多或少是动态的(同步数据库状态将是一个不同的问题),这里的重点更多的是布局,主题,页面以及像用户组等生活中固有的其他东西。
答案 0 :(得分:7)
在Liferay的下一个版本中,我们在“Staging”中添加了一个名为“Branching& Versioning”的新功能,为您的站点提供VCS支持。
每个网站将能够拥有无限数量的“分支”(其中包含整个树的更改),而在给定分支内,每个网页可以包含任意数量的“修订”,可随时标记为“头”修订。
那么,就你的问题而言,这意味着什么:
"1. Make it possible to revert the site to any of its previous states."
是的,只要将每个变更集保存为分支,您就可以执行此操作。 即,从使用分支A的站点开始,您可以发布分支B,稍后重新发布分支A,稍后重新发布分支C,稍后再重新发布分支A,依此类推。
"2. Make it easy to synchronize between developers so that when a dev instance
is launched, it reflects the state of what's in production (or any other instance
at a particular revision)."
我不确定我是否正确回答了这个问题,但如果我的理解是同时开发,那么是的。如果超出这个范围,你想在某个分支的某个版本中看到该网站的样子,那么是的,你也可以这样做。除此之外,更改和暂存包含在一个给定的门户实例中,实际上是“暂存”环境。这个环境既可以与prod完全集成(实际上是同一门户实例/数据库中的所有内容),也可以远离prod(不同的服务器,不同的实例,不同的数据库,所有“阶段”内容的发布都来自Staging和发布成为远程操作,无缝集成。在这里,您需要与staging的内容开发人员进行LDAP同步。