Skip to content

JetBrains/teamcity-google-storage

Repository files navigation

TeamCity Google Cloud Storage

official JetBrains project plugin status

This plugin allows replacing the TeamCity built-in artifacts storage by Google Cloud Storage. The artifacts storage can be changed at the project level. After changing the storage, new artifacts produced by the builds of this project will be published to the Google Cloud Storage bucket. Besides publishing, the plugin also implements resolving of artifact dependencies and clean-up of build artifacts.

Features

When installed and configured, the plugin:

  • allows uploading artifacts to Google Cloud Storage
  • allows downloading artifacts from Google Cloud Storage
  • handles resolution of artifact dependencies
  • handles clean-up of artifacts
  • displays artifacts located in Google Cloud Storage in the TeamCity UI.

Download

You can download the plugin and install it as an additional TeamCity plugin.

Compatibility

The plugin is compatible with TeamCity 2017.1.1 and greater.

Configuration

The plugin adds the Artifacts Storage tab to the Project Settings page in the TeamCity Web UI. The tab lists the internal TeamCity artifacts storage displayed by default and marked as active.

To configure Google Cloud Storage for TeamCity artifacts, perform the following:

  1. Select Google Storage as the storage type.
  2. Specify credentials and bucket name.
  3. Save your settings.

The configured Google Cloud Storage will appear on the Artifacts storage page. Make it active using the corresponding link. Now the artifacts of this project, its subprojects, and build configurations will be stored in the configured storage.

Required IAM Roles

To make this plugin work you need to assign following roles for service account:

  • Project Viewer - required to list storage buckets.
  • Storage Object Admin - required to control storage blobs.
  • Service Account Token Creator - to be able to use Signed URLs on GCE instance without private key.

Build

This project uses gradle as the build system. You can easily open it in IntelliJ IDEA or Eclipse. To test & build the plugin, execute the build gradle command.

Contributions

We appreciate all kinds of feedback, so please feel free to send a PR or write an issue.