GithubHelp home page GithubHelp logo

isabella232 / teamcity-unity-plugin Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jetbrains/teamcity-unity-plugin

0.0 0.0 0.0 264 KB

TeamCity plugin supports building Unity projects

License: Apache License 2.0

Kotlin 59.54% Java 10.65% ANTLR 28.44% C# 1.37%

teamcity-unity-plugin's Introduction

TeamCity Unity plugin

official JetBrains project License build status

The plugin supports building Unity projects on TeamCity.

Features

  • Unity versions detection on build agents
  • Unity build runner with smart completions
  • Automatic discovery of Unity build steps
  • Structured build log with problems highlighting
  • Unity Editor tests reporting
  • Unity build settings feature

Unity build settings feature

This TeamCity build feature allows to automatically activate and return Unity Editor license before build start and after build completion.

Also it allows to configure Unity cache server address in one place to use this setting within Unity build steps.

Download

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

Note: After installation, you need to restart TeamCity server by going to Administration => Diagnostics => Restart Server

Compatibility

The plugin is compatible with TeamCity 2018.1+ and was verified to work with Unity 2017+.

Configuration

The plugin automatically detects Editors installed via Unity Hub. Also it searches Editors in the PATH environment variable and in the following well-known directories:

  • macOS: /Applications/Unity* and /Applications/Unity/Hub/Editor/*
  • Linux: /opt/Unity*/~/Unity* and /opt/Unity/Hub/Editor/*/~/Unity/Hub/Editor/*
  • Windows: %Program Files%/Unity* and %Program Files%/Unity/Hub/Editor/*
  • TeamCity agent tools location, which allows installing Unity as an agent tool.

Note: you need to start TeamCity build agent under the same user account which is used for Unity Hub installation.

To add Unity installation located in custom path you could use UNITY_HOME environment variable, e.g. UNITY_HOME=C:\Tools\Unity_2018.1\. Multiple paths could be specified by using default path delimiter.

To search Unity installation directories in custom path matching Unity* pattern you could use UNITY_HINT_PATH environment variable, e.g. UNITY_HINT_PATH=C:\Tools. Multiple paths could be specified by using default path delimiter.

Agent configuration parameters

All detected Unity versions will be reported as build agent configuration parameters with the unity.path.%unityVersion% prefix. They could be found on the Agents -> "%agentName%" -> Agent Parameters -> Configuration Parameters page in TeamCity server UI.

Custom error logging settings

The runner allows overriding default error logging settings by using "Line statuses file" parameter where you could specify the path to configuration file. Example file contents:

<?xml version="1.0" encoding="UTF-8"?>
<lines>
  <line level="warning" message="warning CS\d+" />
  <line level="error" message="error CS\d+" />
</lines>

Common problems

Unmet requirements: Exists=>unity.path.xxx

This problem indicates that the Unity Editor installation was not found on any of build agent machines. Check that you have installed Editor on your build agents and machines were properly configured.

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.

teamcity-unity-plugin's People

Contributors

archyinf avatar burnasheva avatar dtretyakov avatar ilyafomenko avatar julia-alexandrova avatar orthorienbestia avatar orybak avatar temka193 avatar wellfireddevelopment 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.