spring-attic / spring-cloud-gcp

Integration for Google Cloud Platform APIs with Spring
Apache License 2.0
704 stars 696 forks source link

//// DO NOT EDIT THIS FILE. IT WAS GENERATED. Manual changes to this file will be lost when it is generated again. Edit the files in the src/main/asciidoc/ directory instead. ////

spring-cloud-gcp has moved! This repository is no longer actively maintained by VMware, Inc.

image:https://github.com/spring-cloud/spring-cloud-gcp/workflows/Unit%20Tests/badge.svg?branch=main["Main (Unit Tests)", link="https://github.com/spring-cloud/spring-cloud-gcp/actions?query=branch%3Amain+workflow%3A"Unit+Tests""] image:https://github.com/spring-cloud/spring-cloud-gcp/workflows/Integration%20Tests/badge.svg?branch=main["Main (Integration Tests)", link="https://github.com/spring-cloud/spring-cloud-gcp/actions?query=branch%3Amain+workflow%3A"Integration+Tests""]

= Repo has moved!

This repository contains code for Spring Cloud GCP 1.2.x and below. Future work will be in our new repo, https://github.com/GoogleCloudPlatform/spring-cloud-gcp[GoogleCloudPlatform/spring-cloud-gcp]. We will continue to support 1.2.x (a.k.a. Hoxton) with critical bug fixes until the end of 2021, which is in line with the https://github.com/spring-cloud/spring-cloud-release/wiki/Supported-Versions#spring-cloud-support-policy[Spring Cloud Support Policy].

Read more about the Spring Cloud release train updates https://spring.io/blog/2019/07/24/simplifying-the-spring-cloud-release-train[here].



= Spring Framework on Google Cloud Platform

This project makes it easy for Spring users to run their applications on Google Cloud Platform. You can check our project website https://spring.io/projects/spring-cloud-gcp[here].

For a deep dive into the project, refer to the https://cloud.spring.io/spring-cloud-gcp/reference/html/[Spring Cloud GCP 1.2 Reference Document] or the https://googleapis.dev/java/spring-cloud-gcp/latest/index.html[latest Javadocs].

If you prefer to learn by doing, try taking a look at the https://github.com/spring-cloud/spring-cloud-gcp/tree/main/spring-cloud-gcp-samples[Spring Cloud GCP sample applications] or the https://codelabs.developers.google.com/spring[Spring on GCP codelabs].

Currently, this repository provides support for:

If you have any other ideas, suggestions or bug reports, please use our https://github.com/spring-cloud/spring-cloud-gcp/issues[GitHub issue tracker] and let us know! Also, please take the https://www.techvalidate.com/registration/google-spring-cloud-gcp-customer-survey[*Spring Cloud GCP 5 Minute Customer Survey*] to help us learn about your usage of the project. We would love to hear from you!

If you want to collaborate in the project, we would also love to get your Pull Requests. Before you start working on one, please take a look at our link:CONTRIBUTING.adoc[collaboration manual].

== Spring Initializr

Spring Initializr contains Spring Cloud GCP auto-configuration support through the GCP Support entry.

GCP Messaging contains the Spring Cloud GCP messaging support with Google Cloud Pub/Sub working out of the box.

Similarly to GCP Messaging, GCP Storage contains the Google Cloud Storage support with no other dependencies needed.

== Spring Cloud GCP Bill of Materials (BOM)

If you're a Maven user, add our BOM to your pom.xml <dependencyManagement> section. This will allow you to not specify versions for any of the Maven dependencies and instead delegate versioning to the BOM.

[source,xml]

org.springframework.cloud spring-cloud-gcp-dependencies 1.2.8.RELEASE pom import

== Spring Milestones Maven Repository

The latest non-GA Maven artifacts for the project are only available in the Spring Milestones repository. You will want to make sure that the repository is added to your pom.xml file or globally in your https://maven.apache.org/settings.html[`settings.xml`] file.

[source,xml]

spring-milestones Spring Milestones https://repo.spring.io/milestone

== Spring Snapshots Maven Repository

We offer BUILD-SNAPSHOT versions that always reflect the latest code changes to the underlying GitHub repository for Spring Cloud GCP via the Spring Snapshots Repository:

[source,xml]

spring-snapshots Spring Snapshots https://repo.spring.io/snapshot true

For example, the 1.2.9.BUILD-SNAPSHOT is available from this repository.

== Spring Boot Starters

Spring Boot greatly simplifies the Spring Cloud GCP experience. Our starters handle the object instantiation and configuration logic so you don't have to.

Every starter depends on the GCP starter to provide critical bits of configuration, like the GCP project ID or OAuth2 credentials location. You can configure these as properties in, for example, a properties file:

[source]

spring.cloud.gcp.project-id=[YOUR_GCP_PROJECT_ID] spring.cloud.gcp.credentials.location=file:[LOCAL_PRIVATE_KEY_FILE] spring.cloud.gcp.credentials.scopes=[SCOPE_1],[SCOPE_2],[SCOPE_3]

These properties are optional and, if not specified, Spring Boot will attempt to automatically find them for you. For details on how Spring Boot finds these properties, refer to the https://cloud.spring.io/spring-cloud-gcp[documentation].

NOTE: If your app is running on Google App Engine or Google Compute Engine, in most cases, you should omit the spring.cloud.gcp.credentials.location property and, instead, let the Spring Cloud GCP Core Starter find the correct credentials for those environments.