Here is an example of a build radiator
An online service for all
The service above will hold radiator state for 10 builds, per radiator. You can go and make your own radiator on it, and then place a TV/monitor on a wall somewhere to show that page in a browser. You could choose a consumer device like a SmartTV, Amazon Fire TV stick, AppleTV, etc. You can dedicate a regular PC too, but you need to solve the "how to leave it logged in, and the screen-saver off" problem yourself.
Security through obscurity
buildradiator.org is security through obscurity proposition.
Every time a radiator is created, there's a random code that is generated. An example is
ueeusvcipmtsb755uq (made for the
demo radiator that can't be updated). Unless someone knows the code, they can't see your radiator. There is no list of radiators
either. If you lost your radiator code, just made a new one and the old one will be deleted after a couple of weeks of non-use.
The server is never given parts of the URL to the right of the
See Wiki Page. Also detailed there is info on locking the radiator to certain IP addresses.
Updating the radiator from your CI daemon
See Wiki Page. Also detailed there is how a secret is passed to buildradiator.org that ensures that only approved CI jobs update build statuses.
Navigating to your radiator
https://buildradiator.org/r#<the radiator ID frome the create step>/A_Long_Decription_For_Your_Radiator
Be aware that a HTML page is loaded in the browser for
https://buildradiator.org/r and that in turn
seeks a JSON payload -
https://buildradiator.org/r/<the radiator ID frome the create step>. Any other attribute
to the right of the
# is not passed to the browse so you can
knock yourself out with secret project names, etc.
Read more on the wiki page
Putting a screen up in your guest WiFi
Building this technology yourself
Command to run the build:
mvn clean install
In about 30 seconds, the build does:
- unit test compile,
- unit test invocation,
- integration test invocation,
- functional test invocation (WebDriver - but invisible)
- distribution creation (uberjar style jar)
- Chromedriver.exe for your platform (see quick installation instructions here)
- Maven 3+
Making Selenium's browser invisible
mvn clean install -DHEADLESS=true
Deploying to Google AppEngine
This is to the "Flexible" AppEngine for Java variant, and not the traditional one. It also needs a 'datastore' that is connected to the AppEngine app/project, but the schema is setup automatically on boot.
mvn -Pgae -DskipTests appengine:deploy