我正在开发我的第一个node.js应用程序部署到GAE。
它将被组织成一个API服务和一个用Next.js开发的前端web应用程序。
我正在研究这个体系结构,虽然我将应用程序分开在两个存储库中,但我可以有一个合并的回购程序来创建两个不同的微服务:
https://medium.com/this-dot-labs/node-js-microservices-on-google-app-engine-b1193497fb4b
对我来说,创建一个新的回购程序来合并它们并进行部署似乎过于劳累了(它不是打破了微服务的一个基本思想来进行孤立的部署吗?)
我必须阻止这一点,因为我们需要SEO的一些部分,我们应该使用Next.js (或类似的):
https://cloud.google.com/storage/docs/hosting-static-website
我一直在研究的另一个想法是..。为for和API创建不同的GAE项目,以便独立部署。对我来说,这似乎是最好的选择,但我想知道你作为GAE专家的意见。
我应该用哪一种?
谢谢!
发布于 2018-12-18 02:46:57
GAE并不关心如何将代码部署到映射到一个或多个VCS存储库的服务中(或者根本没有存储库)。这完全取决于你。
使用单个存储库,您可能会遇到从CI/CD管道部署时遇到的困难--例如,当只更改另一个服务时,将不必要的部署部署到一个服务中。
很多例子都集中在应用程序上,而不是服务上,但这些只是这些应用程序的默认服务。就我个人而言,我喜欢将不同服务的代码保存在不同的目录中,请参阅在在文件夹结构方面,应用程序中的默认服务/模块可以是非默认服务/模块的兄弟吗?中捕获的图像(它不再出现在更新的文档页面中)。这还允许很容易地映射到多个、独立的VCS存储库。
对于多个项目和多个服务,这可能会有所帮助:在GAE项目/应用程序级与服务/模块级实现CI/CD环境的优势?
您提到的静态网站链接不是GAE的一部分,而是GCS的一部分--一个不同的GCP产品。单独使用它是很好的--对于一个静态网站来说,但是可能很难/不可能:
https://stackoverflow.com/questions/53830214
复制相似问题