amoerie / teamcity-theatre

:eyes: Monitor those builds! :hammer: (No TeamCity plugin needed!)
MIT License
55 stars 30 forks source link
customizable monitor polling teamcity tile

:tv: TeamCity Theatre

Build Status Travis CI Build Status Azure Devops

A .NET MVC web application to monitor your TeamCity builds. Stick a TV on the wall, open a browser there and enjoy your TeamCity projects in all their red and green glory.

Screenies

The home page: choose your team

Choose your team

Team view

The dashboard screen

Configuration: manage your views and their tiles

The config screen

Features

Requirements

Installation instructions

  1. Download and unzip the the latest release
  2. Configure your TeamCity settings, the application needs to somehow get access to the TeamCity API. The following authentication modes are supported:
    • "Guest" mode: If your TeamCity is configured with guest access, you can use 'Guest' as the authentication mode. You don't need any credentials.
    • "BasicAuthentication" mode: Every HTTP call will have a basic authentication header with a username and password.
    • "AccessToken": Every HTTP call will have an access token in the header
  3. To configure authentication:
    • Either add the following to the appsettings.json file:
  "Connection": {
    "Url": "http://your-teamcity-server/",
    "AuthenticationMode": "BasicAuthentication" // or "Guest" or "AccessToken"
    "Username": "your-teamcity-username", // if using Basic
    "Password": "your-teamcity-password", // if using Basic
    "AccessToken": "your-teamcity-accesstoken", // if using AccessToken
  }
  1. (Optional) In appsettings.json, change the location of the configuration.json file or leave the default. This file will contain your views/tiles/etc.
  2. (Optional) In appsettings.json, change the logging configuration. It's quite verbose by default, but will never take more than 75MB of space.
  3. Start the application in one of the following ways
    • Run the following command: dotnet TeamCityTheatre.Web.dll
    • Install this folder as a web application in IIS:
    • Application pool should use .NET CLR version 'No Managed Code'
    • Application pool should use Managed Pipeline mode 'Integrated'
    • Ensure the application pool has the read/write access rights to
      • the folder in which configuration.json resides
      • the folder in which log files will be written

Usage instructions

Open the web application from a browser

Compilation instructions

  1. Ensure you have .NET Core SDK 2.x installed
  2. Ensure you have Node installed
  3. Execute "publish.cmd" or "publish.sh" depending on your operating system.
  4. If all goes well, that should create a folder 'publish-output' which is all you need to host the application. See Installation instructions from here.

Contributors