Skip to content

Run TeamCity cloud agents on Kubernetes cluster

License

Apache-2.0, Unknown licenses found

Licenses found

Apache-2.0
LICENSE.txt
Unknown
license-third-party.ftl
Notifications You must be signed in to change notification settings

JetBrains/teamcity-kubernetes-plugin

Repository files navigation

TeamCity Kubernetes Support Plugin

official JetBrains project plugin status

Run TeamCity cloud agents in a Kubernetes cluster.

Support Helm build steps.

Compatibility

The plugin is compatible with TeamCity 2017.1.x and later.

Installation

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

Configuration

Cloud agents

Configure Kubernetes Cloud Profile for your project in the Server Administration UI.

The plugin supports Kubernetes cluster images to start new pods with a TeamCity build agent running in one of the containers. The plugin supports the official TeamCity Build Agent Docker image out of the box. You can use your own image as well.

Helm steps

Add Helm build step to build configuration, choose one of supported commands: install, upgrade, rollback, test, delete.

Or use Kotlin DSL

object Helm_Deployment : BuildType({
    uuid = "866dd903-6f55-4a54-a621-065b380dd7fc"
    extId = "Helm_Deployment"
    name = "Deployment"

    steps {
        helmInstall {
            chart = "stable/teamcity-server"
            param("teamcity.helm.command", "helm-install")
        }
    }
})

Build agent to be compatible with Helm runner should provide Helm_Path configuration parameter which should point to the location of Helm executable. Plugin searches Helm in default location /usr/local/bin/helm on Linux machines.

License

Apache 2.0

Feedback

Please feel free to post feedback in the repository issues.

Contributing guidelines

Follow general instructions to build TeamCity plugins using Maven. Plugin uses TeamCity SDK Maven plugin

# build and package plugin
mvn clean package

# deploy packed plugin to local Teamcity installation and start server and build agent
mvn tc-sdk:start

# stop locally running server and build agent
mvn tc-sdk:stop