This project makes it easy for Spring users to run their applications on Google Cloud Platform. You can check our project website here.
For a deep dive into the project, refer to the Spring Cloud GCP 1.0 Reference Document.
If you prefer to learn by doing, try Spring on GCP codelabs.
Currently, this repository provides support for:
-
Spring Cloud GCP Pub/Sub, including Spring Integration Channel Adapters
-
Spring Resource Abstraction for Google Cloud Storage, including Spring Integration Channel Adapters
-
Spring Data Cloud Spanner (v1.1)
-
Spring Data Cloud Datastore (v1.1)
-
Spring Boot starters
-
Google Cloud Config (Beta)
-
Google Cloud Spanner (v1.1)
-
Google Cloud Datastore (v1.1)
-
Google Cloud Vision API (v1.1)
If you have any other ideas, suggestions or bug reports, please use our GitHub issue tracker and let us know! 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 collaboration manual.
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.
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.
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-gcp-dependencies</artifactId>
<version>1.0.0.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
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 settings.xml
file.
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
</repository>
</repositories>
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:
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 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.
|