From 136f04aca532e716aa30c1cca8b5d7b5147c22bb Mon Sep 17 00:00:00 2001 From: Hunter Long Date: Wed, 19 Dec 2018 17:29:06 -0800 Subject: [PATCH] Updated Deployment (markdown) --- Deployment.md | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/Deployment.md b/Deployment.md index 72bd1c2..bc83668 100644 --- a/Deployment.md +++ b/Deployment.md @@ -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.