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
- Host: GitHub
- URL: https://github.com/jetbrains/teamcity-rust-plugin
- Owner: JetBrains
- License: apache-2.0
- Created: 2015-10-28T20:38:07.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2025-01-07T09:36:49.000Z (9 months ago)
- Last Synced: 2025-01-30T02:01:37.667Z (8 months ago)
- Topics: cargo, ci, rust, teamcity, teamcity-plugin
- Language: Kotlin
- Size: 494 KB
- Stars: 32
- Watchers: 13
- Forks: 4
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# TeamCity Rust Plugin
[](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.
# DownloadYou 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
```