Giter Site home page Giter Site logo

rvadim / teamcity-google-agent Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jetbrains/teamcity-google-agent

0.0 1.0 0.0 361 KB

TeamCity support for Google cloud build agents

License: Apache License 2.0

Kotlin 37.71% Java 34.65% JavaScript 26.88% CSS 0.77%

teamcity-google-agent's Introduction

TeamCity Google Cloud Agents

official JetBrains project plugin status

TeamCity integration with Google Compute Engine which allows using cloud instances to scale the pool of build agents.

Compatibility

The plugin is compatible with TeamCity 10.0.x and greater.

Installation

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

Configuration

For configuration details please take a look at the TeamCity Google Cloud plugins blog post.

The plugin supports Google Compute images to start new instances. You also need to create a new JSON private key and assign the Compute Engine Instance Admin (v1) and Project Viewer roles or create your own with a following permissions:

  • compute.images.list
  • compute.instances.create
  • compute.instances.list
  • compute.instances.setMetadata
  • compute.machineTypes.list
  • compute.diskTypes.list
  • compute.networks.list
  • compute.subnetworks.list
  • compute.zones.list

Note: If you're using "Instance template" image type also assign a Service Account User role.

To verify whether your service account has all required permissions please enable Google Cloud Resource Manager API in your project.

Image Creation

Before you can start using the integration, you need to create a new cloud image. To do that, create a new cloud instance, install the TeamCity Build Agent on it and set it to start automatically. You also need to manually point the agent to the existing TeamCity server with the Google Cloud plugin installed to let the build agent download the plugins.

Then you need to remove temporary files and create a new image from the instance disk.

Startup and shutdown scripts

To specify instance metadata you could the "Custom metadata" property in cloud image settings. It could be useful while defining startup and shutdown scripts.

Preemptible instance

If you are using preemptible instances you have to specify shutdown script to gracefully reschedule build from preempted VM on another build agent like that.

For Linix instances:

{
  "shutdown-script": "#! /bin/bash\n/opt/buildagent/bin/agent.sh stop force"
}

For Windows instances:

{
  "windows-shutdown-script-cmd": "C:\\BuildAgent\\bin\\agent.bat stop force"
}

License

Apache 2.0

Feedback

Please feel free to post feedback in the repository issues.

teamcity-google-agent's People

Contributors

dtretyakov avatar undimmable avatar julia-alexandrova avatar mohsenrezaeithe avatar orybak avatar ragerdl avatar cheshirrrr avatar burnasheva avatar paksv avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.