An open API service indexing awesome lists of open source software.

https://github.com/jetbrains/teamcity-rust-plugin

TeamCity Rust and Cargo plugin
https://github.com/jetbrains/teamcity-rust-plugin

cargo ci rust teamcity teamcity-plugin

Last synced: 8 months ago
JSON representation

TeamCity Rust and Cargo plugin

Awesome Lists containing this project

README

          

# TeamCity Rust Plugin

[![official JetBrains project](http://jb.gg/badges/official.svg)](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)

The TeamCity Rust plugin brings build infrastructure support for the [Rust](https://www.rust-lang.org/) programming language.

# Features

It provides the following features for Rust projects:
* Rust toolchains installation via [rustup](https://www.rustup.rs/)
* 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](https://plugins.jetbrains.com/plugin/9044) and install it as [an additional TeamCity plugin](https://confluence.jetbrains.com/display/TCDL/Installing+Additional+Plugins).

# Compatibility

The plugin is compatible with [TeamCity](https://www.jetbrains.com/teamcity/download/) 10.x and greater.

# Configuration

The plugin honors `CARGO_HOME` and `RUSTUP_HOME` environment variables which could be used in [rustup configuration](https://github.com/rust-lang-nursery/rustup.rs#choosing-where-to-install).

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](https://www.jetbrains.com/idea/help/importing-project-from-gradle-model.html) or [Eclipse](http://gradle.org/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
```shell
gradle downloadTeamcity2021.1
```

To install the downloaded distribution, run
```shell
gradle installTeamcity2021.1
```

## Running TeamCity with installed plugin

To start TeamCity, run
```shell
gradle startTeamcity2021.1
```

To build the plugin, run
```shell
gradle serverPlugin
```

To install the built plugin to TeamCity, run
```shell
gradle deployToTeamcity2021.1
```