mirror of https://github.com/statping/statping.git
2
Development
Hunter Long edited this page 4 years ago
Useful Codebase
-
handlers/routes.go - Contains all the HTTP request routes
-
cmd/commands.go - CLI Commands
-
types/service/struct.go - Service struct
-
types/core/struct.go - Core struct
Deployment Process
Statping is a pretty cool server for monitoring your services. The way we deploy might be a little cooler though. Statping is using the most bleeding edge technology to release updates and distribute binary files automatically.
- Source code commits get pushed to Github
- go.rice will compile all the static assets into 1 file (rice-box.go in source)
- SASS will generate a compiled version of the CSS.
- Statping Help page is generated by cloning the Wiki repo using
go generate
. - Travis-CI tests the Golang application.
- Travis-CI tests the Statping API using Postman.
- If all tests are successful, Travis-CI will compile the binaries using xgo.
- Binaries are code signed using the official PGP key and compressed.
- Docker receives a trigger to build for the
latest
tag. - Travis-CI uploads the latest release as a tagged version on Github.
- Travis-CI updates the homebrew-statping repo with the latest version.
And that's it! Statping is ready to be shipped and installed.