Skip to content

JetBrains/teamcity-rust-plugin

Repository files navigation

TeamCity Rust Plugin

official JetBrains project

The TeamCity Rust plugin brings build infrastructure support for the Rust programming language.

Features

It provides the following features for Rust projects:

  • Rust toolchains installation via rustup
  • Cargo command build runners
  • Cargo tests reporter
  • Structured build log listener
  • Auto-discovery of build steps
  • Run steps in Docker
  • Running custom Cargo crates

Running steps in Docker

Add cargo to teamcity.docker.runners TeamCity property, for example teamcity.docker.runners=cargo. Now you'll be able to select Docker image for the build step as usual.

Download

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

Compatibility

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

Configuration

The plugin honors CARGO_HOME and RUSTUP_HOME environment variables which could be used in rustup configuration.

To locate rust and cargo tools on build agent in addition to CARGO_HOME value also used PATH environment variable.

Build

This project uses Gradle as the build system. You can easily open it in IntelliJ IDEA or Eclipse.

Contributions

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

Developing locally

First time setup

To download TeamCity distribution locally, run

gradle downloadTeamcity2021.1

To install the downloaded distribution, run

gradle installTeamcity2021.1

Running TeamCity with installed plugin

To start TeamCity, run

gradle startTeamcity2021.1

To build the plugin, run

gradle serverPlugin

To install the built plugin to TeamCity, run

gradle deployToTeamcity2021.1