我有一个Spring Boot Application,我们将其作为lambda函数部署在AWS上。有没有类似的方法可以将Sprint引导应用程序部署为GCP云功能?
如果问题很幼稚,请问我,但是我无法从GCP文档中找到任何直接的方法。
答案 0 :(得分:4)
是的,有一种方法可以将Spring Boot应用程序部署为GCP云功能。
如2020年5月26日的this文章所述:
Google Cloud Java框架团队与Spring团队合作, 带来Spring Cloud GCP项目以轻松帮助Spring Boot用户 利用Google Cloud服务。最近,该团队与 Spring Cloud Function团队为您带来Spring Cloud Function GCP 适配器。函数可以只是普通的Java函数,因此您可以 在不使用Cloud Functions的情况下运行Spring Cloud Function应用程序 必须修改您的代码才能在Google Cloud上运行。
@Bean public Function<String, String> uppercase() { return value -> value.toUpperCase(); }
请查看this GitHub存储库,因为它包含完整的示例。
答案 1 :(得分:1)
我建议您看看Cloud Run。如果您的Spring Boot应用程序已经独立启动(使用Spring Boot Starter),则Cloud Run打包很容易。您可以在my repo或through this article(及其他)中找到示例
答案 2 :(得分:0)
我工作过的大多数地方都将构建/编译其spring-boot应用程序的胖子罐,将其放入docker容器(创建Dockerfile,然后构建映像),然后将容器部署1次或多次使用映像作为基础(并且在许多实例设置的前面都有一个负载平衡器)。
今天我们有kubernetes / ansible等。选择毒药还是不用药。这是最适合您的方法,但是根据您的手术规模,这些技术可能是障碍或帮助。
答案 3 :(得分:0)
为了在 Google App Engine 上部署我的 Spring Boot 应用程序,我执行了以下操作:
添加了以下 maven 插件:
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>appengine-maven-plugin</artifactId>
<version>2.2.0</version>
<configuration>
<version>1</version>
<projectId>levelupfin-1fe89</projectId>
</configuration>
</plugin>
创建以下文件:src/main/appengine/app.yaml
runtime: java11
instance_class: F1
运行以下命令:
# To deploy to app engine
mvn appengine:deploy
# To see your app
gcloud app browse
我从以下 code lab 中获得了大部分信息。