Display TeamCity build status via Raspberry Pi using Scala and Akka.
Obtain TeamCity build status using JetBrains's REST client.
Control Raspberry Pi using Pi4J.
Run pinfeather-monitor-package-deploy.sh [email protected]:/path/to/remote/directory to package a single JAR and deploy to your Raspberry Pi (using SCP).
Use .httpAuth.template file to copy and create .httpAuth file to supply parameters below
method=httpAuth
hostUrl=http://host:port // TeamCity host and port
userName= // TeamCity user
password= // TeamCity password
As of the time of this writing, httpAuth is the only secure way to authenticate against a TeamCity server using JetBrains's REST client.
Use application.conf.template file to copy and create xyz.application.conf file (replace xyz with a proper application name) to supply
pinFeather {
teamCity {
hostUrl: "http://host:port" // TeamCity host and port
authFilePath: ".httpAuth"
buildConfigIds: [
"Project_SubProject1_Build", // Your sub-project 1
"Project_SubProject2_Build" // Your sub-project 2, etc.
]
}
}
sudo ./pinfeather-monitor.sh xyz (replace xyz with a proper application name)
Depending on your version of Raspberry Pi, your pysical wiring will differ.
I used the Pi4J's pinout for Raspberry Pi 3 Model B.
When connected to the network and
- all builds are successful, the green LED on the breadboard will light up
- any build fails, the red LED on the breadboard will light up.
When disconnected from the network or having network connectivity issues with the TeamCity server, the blue LED on the breadboard will light up.