簡體   English   中英

如何將 spring 啟動應用程序部署到 GCP 雲功能?

[英]How to deploy spring boot application to GCP cloud functions?

我有一個 Spring 啟動應用程序,我們在 AWS 上將其部署為 lambda function。 是否有類似的方式將 Sprint 引導應用程序部署為 GCP 雲 function?

如果這個問題很幼稚,請原諒,但我無法從 GCP 文檔中找到任何直接的方法。

是的,有一種方法可以將 Spring Boot 應用程序部署為 GCP 雲 function。

正如 2020 年 5 月 26 日的這篇文章所述:

Google Cloud Java Frameworks團隊與Spring團隊合作帶來Spring Cloud GCP項目,幫助Spring Boot用戶輕松使用Google Cloud服務。 最近,該團隊與 Spring Cloud Function 團隊合作,為您帶來了 Spring Cloud Function GCP Adapter。 function 可以只是普通的 Java function,因此您可以在 Cloud Functions 上運行 Spring Cloud Function 應用程序,而無需修改代碼以在 Google Cloud 上運行。

 @Bean public Function<String, String> uppercase() { return value -> value.toUpperCase(); }

請查看GitHub 存儲庫,因為它包含完整示例。

我建議你看看Cloud Run 如果您的 Spring Boot 應用程序已經獨立啟動(使用 spring 啟動程序),Cloud Run 打包很容易。 您可以在我的回購中找到示例,或通過這篇文章(和其他文章)

我工作過的大多數地方都會構建/編譯他們的 spring-boot 應用程序的 fat-jar,將其放入 docker 容器(創建 Dockerfile,然后構建圖像),然后使用圖像部署容器 1 次或多次一個基礎(並且在它前面有一個負載均衡器,用於設置許多實例)。

今天我們有 kube.netes/ansible 等。選擇你的毒葯或 go 沒有..這是最適合你的,但這些技術可能是阻礙或幫助,具體取決於你的操作規模。

為了在 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

我從以下代碼實驗室獲得了大部分此類信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM