我试图找出满足以下要求的架构。 不同的团队开发了许多不同的angular2应用程序。我希望它们可以在 somedomain.com 下的公共控制台下使用。像这样的东西。
开放时,每个应用都应该来自同一个域
app1 -> somedomain.com/app1
app2 -> somedomain.com/app2
并且同样明智,因此用户认为这些是常见应用程序的服务。 这种事情发生在aws控制台中。
我还希望每个团队能够维护自己的存储库并维护独立的CI / CD管道。
所有角度应用都放在http服务器所在的同一个框中。 我已经像这样修改了他们的基本标签
app1 : <base href="/app1/"/>
app2 : <base href="/app2/"/>
这解决了从公共领域提供服务的问题。但是他们的部署与服务器盒紧密结合,因为它们共享一个共同的盒子。
是否有解决此类问题的架构或模式?除了由独立团队管理和开发的应用程序之外,我想设计一些可以扩展到n个应用程序的东西。
答案 0 :(得分:0)
您可以使用/ app1&amp; amp;将角度应用部署到AWS S3存储桶。 / app2目录,其中包含角度应用程序。您可以为应用选择页面保留index.html。然后使用具有somedomain.com域映射的S3存储区前面的AWS CloudFront,您可以相应地使它们可用。
除此之外,您还可以通过CloudFront连接到后端服务器,避免CORs挑战。