GitLab on Google Cloud overview

The GitLab on Google Cloud integration simplifies deploying GitLab source code to Google Cloud runtimes, and is available for the Free, Premium, and Ultimate tier of the GitLab.com offering.

To get started, try the end-to-end GitLab tutorial, Set up the GitLab on Google Cloud integration.

Security configuration

The GitLab on Google Cloud integration uses workload identity federation for authorization and authentication for GitLab workloads on Google Cloud without the need for service accounts or service account keys. For more information on how workload identity federation is used in this partnership, see Authentication overview.

To set up workload identity federation and the necessary Identity and Access Management (IAM) roles for the GitLab on Google Cloud integration, see the GitLab tutorial Google Cloud IAM.

GitLab components

The GitLab on Google Cloud integration uses Google created and maintained GitLab components to simplify Google Cloud actions within GitLab pipelines. To use the components for this integration, you must configure authentication and authorization for GitLab to Google Cloud by following the instructions in the GitLab tutorial Google Cloud Workload Identity Federation and IAM policies.

You can view the all the Google maintained components on GitLab.com.

Artifact Management

The GitLab on Google Cloud integration lets you upload your GitLab artifacts to Artifact Registry or Cloud Storage for streamlined deployment to Google Cloud runtimes.

Artifact Registry component

Artifact Registry is a single place to manage container images. It is fully integrated with Google Cloud’s tooling and runtimes. This makes it simple to integrate it with your CI/CD tooling to set up automated pipelines.

Once you have connected GitLab to Artifact Registry and pushed a container image to your repository, you can view the container image in GitLab or Artifact Registry, and you can access metadata for each artifact in Google Cloud.

To learn how to upload artifacts to Artifact Registry from GitLab, see the GitLab tutorial Google Artifact Registry and the Artifact Registry component README. To take an end-to-end tutorial that creates a pipeline to automatically build and push an image to Artifact Registry from GitLab, see Create a GitLab pipeline to push to Artifact Registry.

Cloud Storage component

Cloud Storage is a managed service for storing unstructured data. Store any amount of data and retrieve it as often as you like.

To upload to Cloud Storage, add the component to your CICD pipeline in GitLab. For usage instructions, see the Cloud Storage component README.

Continuous integration and deployment

The GitLab on Google Cloud integration lets you configure GitLab runner settings directly in your GitLab project using Terraform, in order to run your Google Cloud workloads.

To learn more about runners on Google Cloud, see the GitLab tutorial Provision runners on Google Cloud.

If you have already set up authentication and authorization to Google Cloud with Workload Identity Federation, you can use the following GitLab CICD components.