平顶山做网站优化,新网网站空间,wordpress html5模板下载,嵌入式开发培训介绍 当ADF应用程序建立在共享库之上时#xff0c;有一种非常流行的架构模式。 因此#xff0c;主应用程序被部署为EAR#xff0c;并且所有子系统都在共享库中实现#xff0c;这些共享库可以在“热”模式下独立构建并作为JAR部署到WebLogic#xff0c;而无需停机。 这种方… 介绍 当ADF应用程序建立在共享库之上时有一种非常流行的架构模式。 因此主应用程序被部署为EAR并且所有子系统都在共享库中实现这些共享库可以在“热”模式下独立构建并作为JAR部署到WebLogic而无需停机。 这种方法的优点似乎很明显 它分解了实现模块化和重用概念的应用程序 CI / CD流程可能会更快因为将只重建/重新部署一个库 重新部署共享库没有停机时间 看起来太酷了人们可以在新项目中选择这种架构模式并且对实现应用程序时所做出的决定感到非常满意。 当他们投入生产时他们会变得更加高兴因为他们可以轻松地修复大多数错误并实施新的要求从而避免完全重新部署且没有任何停机时间。 毫无疑问在投入生产之前任何更改以及相应的共享库都应在以前的环境例如QAUAT等中进行部署和测试。 一段时间内没有人确切知道每种环境中部署了什么版本的共享库。 支持这种应用程序并在这种情况下实现新的更改有些棘手因为即使它在这种环境下也可以工作但由于共享库的组合可能有所不同因此无法保证它将在下一个环境中正常工作。 如果它是一个大型应用程序并且有许多共享库那么这可能会成为一场噩梦而且很多时候人们只是放弃重新部署所有内容最终回到整体EAR。 并不是很酷但是至少他们现在可以再次入睡了。 解 在这篇文章中我将展示如何整理事物并建立一个使用FlexDeploy在共享库之上构建的ADF应用程序的连续交付过程。 FlexDeploy是一个快速增长的自动化和DevOps解决方案如果您想了解所有内容请随时访问该网站 。 在这里我将专注于FlexDeploy如何通过引入快照和管线的概念共享库帮助。 快照是代表整个系统的一组可部署工件。 如果要重建其中任何一个工件那么将创建一个新快照其中包含该工件的新版本以及其余工件的先前版本。 在我们的情况下快照将包含用于主ADF应用程序的EAR和用于共享库的JAR。 为了为我们的应用程序创建快照FlexDeploy应该知道它的全部内容和组成的项目。 FlexDeploy中有一个“ 发布”概念它是一堆项目应将其内置到快照中并在整个环境中作为一个单元一起部署。 在我们的示例中有3个项目-一个作为主应用程序两个针对部门和员工任务流部署为共享库。 每个项目都在FlexDeploy中单独配置每个项目“知道”如何获取其源代码如何构建和部署FlexDeploy使用工作流进行构建和部署但这是另一个重要的故事远远超出了本文。 完成所有定义后只要开发人员为版本中包含的任何项目推动代码更改FlexDeploy都会构建一个新快照。 它仅重建那些已更改的项目生产耳朵和罐子其余工件原样包含在新快照中。 好的现在我们可以构建快照并将其部署到整个环境中。 版本定义是指管道。 管道是一种确保严格按照预定顺序在整个环境中部署整个快照的方法。 这意味着只能以Dev- QA- Prod的顺序如果以此方式定义了管道来部署此快照换句话说ear / jar版本的这种组合。 如果在Dev和QA上不成功那就无法进入Prod。 管道由涉及环境的各个阶段组成每个阶段均由多个门批准测试结果等组成这意味着快照在此环境下进行处理之前应先通过所有门和步骤部署运行自动测试通知手动步骤 …。 因此基本上部署只是管道阶段环境中的一个管道步骤。 此步骤足够聪明可以仅重新部署已更改的工件除非将该步骤配置为执行“强制”部署。 FlexDeploy跟踪在每个环境中已部署了哪些工件版本。 总结一下我想说的是当将FlexDeploy用作具有共享库的ADF应用程序的DevOps解决方案时我们一方面获得了该架构模式的所有好处另一方面我们可以使事情井井有条确切知道已部署了哪种组合跨环境什么已经过测试可以投入使用什么失败了。 而已 翻译自: https://www.javacodegeeks.com/2017/12/continuous-delivery-adf-applications-weblogic-shared-libraries.html