Skip to content

🔮 Hook it up to your builds and see their status from anywhere in the room

License

Notifications You must be signed in to change notification settings

ctrabold/stoplight_go

Repository files navigation

Overview

Build Status

Stoplight_GO is a build monitoring tool that is largely based off stoplight, and is written in Go to make deployments easier.

Stoplight_GO has:

  • built-in support for GoCD
  • built-in support for Jenkins
  • built-in support for any tool that provides a cc.xml

Stoplight_GO is designed to be displayed on large television screens or monitors. It automatically resizes to fill the maximum real estate the screen can offer.

The main design goals was simplicity of deployment. Feature parity with the original Stoplight was not a goal. Stoplight_GO supports ONE server only at the moment.

Requirements

  • Create a config.yml file. Minimal Example:
server:
    url: http://localhost:8080/cc.xml

Open config.example.yml to see all available options.

  • Start a CI server that provides a cc.xml endpoint You can start a test server by running this command in a new terminal:
go run testserver/main.go

Usage

You can use ENV variables to override the bind address and port:

STOPLIGHT_HOST=127.0.0.1 STOPLIGHT_PORT=3000 ./stoplight

Default:

STOPLIGHT_HOST=0.0.0.0 STOPLIGHT_PORT=1323 ./stoplight

Building from Source

  • Build the binary
go build stoplight.go

For SSL support read https://echo.labstack.com/cookbook/auto-tls

Cross Compiling WIP

This is untested territory.

See docs

Execute this command:

env GOOS=target-OS GOARCH=target-architecture go build .

Github will automatically push new releases to https://github.com/ctrabold/stoplight_go/releases

Known Issues & Todos

  • Only one CI server is supported for now
  • JavaScript and CSS assets are pre-compiled
  • Tests are incomplete

Contributing

  1. Fork it (https://github.com/ctrabold/stoplight_go/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Run tests: go test
  5. Push to the branch (git push origin my-new-feature)
  6. Create a new Pull Request

This project adheres to Semantic Versioning and we follow Conventional Commits.

Contributors

Credits

  • GreenScreen was original developed by martinjandrews.
  • The former version of GreenScreen was a fork of the updates made by rsutphin.
  • The version of Stoplight was written by sethvargo

About

🔮 Hook it up to your builds and see their status from anywhere in the room

Resources

License

Stars

Watchers

Forks

Packages

No packages published