Google Cloud Integration
Google Cloud Integration is used to connect Shippable DevOps Assembly Lines platform to Google Cloud and manage entities and services provided by Google Cloud.
Creating an Integration
You can create this from the integrations page by following instructions here: Adding an integration.
This is the information you would require to create this integration:
- Integration Type -- Google Cloud
- Name -- Friendly name for the integration
- JSON Key -- JSON Security Key for Google Cloud
Usage in CI
Note: Since this is integration is of generic type, it can be plugged into hub section in the following use cases:
Resources that use this Integration in Assembly Lines
Resources are the building blocks of assembly lines and some types of resources refer to integrations by their names. The following resource types can be created with a
Google Cloud integration.
Service Account Permissions
There are three ways to use a Google Cloud integration in Shippable Assembly Lines:
- automated, managed Kubernetes deployments via managed
- provisioning services in managed
- gcloud CLI configuration via
cliConfigresources in a
For managed deploy and provision jobs, the key should belong to a service account with a role that has
container.clusters.getCredentials permissions. This will allow Shippable to connect to the Kubernetes cluster.
cliConfig resources, you should make sure that your policy allows you to perform whatever actions you plan to take in your custom script. This could mean permissions to pull images, create clusters, etc.
Default Environment Variables
When you create a resource with this integration, and use it as an
OUT for a
runCI job, a set of environment variables is automatically made available that you can use in your scripts.
<NAME> is the the friendly name of the resource with all letters capitalized and all characters that are not letters, numbers or underscores removed. Any numbers at the beginning of the name are also removed to create a valid variable. For example,
my-key-1 will be converted to
my_key_1 will be converted to
||JSON key supplied in the integration|
Shippable Utility Functions
The platform also provides a command line utility called
shipctl that can be used to retrieve the values of these environment variables.
The specific function that can be used in the jobs yml is:
shipctl get_integration_resource_field <resource name> <field name>.
Here is a table that provides the mapping from the environment variable to the field name.
|Environment variable||Field Name|
More information on other utility functions is documented here.