Updated Deployment (markdown)

master
Hunter Long 2018-12-19 17:29:06 -08:00
parent d1588d9783
commit 136f04aca5
1 changed files with 12 additions and 10 deletions

@ -1,14 +1,16 @@
# How Statping is Deployed
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.
## Deployment Flow
Statping has a pretty advanced deployment process that many people will find to be a little too complexed. Below is a flow of how this application is developed and deployed.
1. Source code commits get pushed to Github
2. [Rice](https://github.com/GeertJohan/go.rice) will compile all the static assets into 1 file (rice-box.go in source)
3. SASS will generate a compiled version of the CSS.
4. Statping Help page is generated by cloning the Wiki repo using `go generate`.
5. Travis-CI tests the Golang application.
6. Travis-CI tests the Statping API using [Postman](https://github.com/hunterlong/statping/blob/master/source/tmpl/postman.json).
7. If all tests are successful, Travis-CI will compile the binaries using [xgo](https://github.com/karalabe/xgo).
8. Binaries are code signed using the official [PGP key](https://github.com/hunterlong/statping/wiki/PGP-Signature) and compressed.
9. [Docker](https://cloud.docker.com/repository/docker/hunterlong/statping/builds) receives a trigger to build for the `latest` tag.
10. Travis-CI uploads the [latest release](https://github.com/hunterlong/statping/releases) as a tagged version on Github.
11. Travis-CI updates the [homebrew-statping](https://github.com/hunterlong/homebrew-statping) repo with the latest version.
- Source code commits get pushed to Github
- Travis-CI begins to build the binary application
- Go Language builds all binaries with xgo and Docker.
- New binaries are compress and released to Github Releases.
- Triggers a build on Docker Hub `latest` release, the version tag is triggered when tag is set.
- Triggers Travis build for Statping Homebrew repo to recreate the Formula for brew.
- Travis recreates statup.repo Formula and commits back to master.
And that's it! Statping is ready to be shipped and installed.