如何将Spring Boot应用程序部署到GCP云功能?

时间:2020-09-02 06:45:07

标签: spring-boot google-cloud-platform google-cloud-functions

我有一个Spring Boot Application,我们将其作为lambda函数部署在AWS上。有没有类似的方法可以将Sprint引导应用程序部署为GCP云功能?

如果问题很幼稚,请问我,但是我无法从GCP文档中找到任何直接的方法。

4 个答案:

答案 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 repothrough 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 中获得了大部分信息。