我不是CQ人。我必须使用CQ5作为我的一个项目。我有一个CAT和一个生产环境。我有以下疑虑 -
我只想使用我的CAT的作者实例。一旦我在CAT中发布内容,它也应该在Production中发布。有可能吗?
一旦我在生产中更新了AdobeCQ的构建说新构建,代码更改等 - 我的内容会丢失吗?
我在cq5中读到了有关内容包的内容。我可以在一个CQ5环境中分离内容更改和代码更改吗?
提前致谢。
答案 0 :(得分:5)
回答问题1 ......
这不是推荐的设置,但对于不熟悉AEM / CQ5的人来说是一种常见的误解。 "作者"和"发布"实例应该是同一环境的一部分。例如,您应该有一个生产作者,可能在您的防火墙后面,并且生产发布以向公众提供页面。
您的CAT环境应该具有相同的功能。您希望您的测试环境尽可能地与您的生产环境匹配,包括Web服务器和调度程序设置,以确保质量。
考虑一下。您可以使用一个生产发布实例,但它只是一个故障点。在至少两个之间进行负载平衡是一般的最佳实践。对于大多数网站来说,二是足够如果你这样做,你想要模仿CAT中的架构。
回答问题2 ......
如果您的代码已正确编写,构建和部署,则不应删除您的内容。只是确保你永远不会将任何内容部署到/ content(以避免删除内容)和/ libs以及大多数/ etc以避免覆盖平台功能。 AEM / CQ5是一个非常开放的产品,所以你可以做很糟糕的事情。但是,如果你知道不该做什么,你就是安全的。
代码部署通常应该作为CRX内容包的一部分完成,这将带给我......
回答问题3 ......
我们构建和部署代码的方式是让Maven编译Java,将所有内容打包在CRX包中,然后使用Package Manager REST API部署到实例。 Adobe提供了一个Maven Archetype来促进这一点。
CRX包是内容存储库的文件系统表示,包含在实际上是带注释的Zip文件中。已编译的Java代码包含在该文件系统表示中,位于名为" config"的文件夹(成为节点)中。编译的Java是一个OSGi包,它是一个带注释的JAR。当CRX Package Manager将所有这些节点部署到系统时,OSGi接受该捆绑包,假设它是有效的。这就是为什么你可以做" hot"部署现场生产的AEM / CQ5实例,风险很小。
因此...
对于一些非常重要的主题,这是一个非常高级的答案。在你做好准备之前,我鼓励你做更多的研究。有许多好的博客文章和文档页面可以帮助您根据最佳实践进行设置。祝你好运!