我想在我们的AEM项目中实现CI/CD流程。作为其中的一部分,我们希望采用基于主干分支策略( gitFlow branching strategy,https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow)的开发方法。我们想启用暗启动(https://www.facebook.com/notes/facebook-engineering/hammering-usernames/96390263919/ ),在这里我们将部署和发布分开,关键是功能切换/标志。
我们的AEM实现的正常功能包括对所有类型的实现的简单对话框字段更改/ css更改。
我计划使用AEM作为功能切换机制( http://sling.apache.org/documentation/the-sling-engine/featureflags.html ),因为这也提供了一个OOTB控制台(http://localhost:4502/system/console/features )。在( aemtreasury.wordpress.com/2015/10/20/feature-flags/ )上解释了一个很好的例子。但主要的问题是基于xml的文件更改( dialog.xml,_cq_editConfig.xml,.content.xml等),这使得AEM开发的主要部分。我需要一种方法将特性标志值注入到AEM中的所有XML。
我的想法是将值注入这些xml并编写条件,以使用feature标志来切换与该特性相关的任何内容。是否有任何我应该遵循的最佳实践来实现此功能,或者是否有任何文档指导我朝着正确的方向前进。
提前谢谢。
发布于 2018-04-07 06:17:54
我不确定为什么你需要功能标志。我使用CI/CD和git flow参与了多个项目。如果您不能在单独环境中测试特性分支,我会建议使用master和develop分支,其中develop分支将包含当前正在开发/ QA中的所有特性。
拥有开发分支还可以防止在将功能与稳定版本集成后可能出现的问题。例如,如果功能A影响功能B,您将知道如果将功能A合并到主分支,功能B将需要一些代码更改。
https://stackoverflow.com/questions/49005063
复制相似问题