TZWZ's personal page
Engineer
Rust

Build and redeploy application only when it's built successfully.

This program that allows you build and deploy any application. Something like more general version of cargo-watch from rust world. It has separate steps for building (which can have multiple steps) and deploying application. Deployments are restarted only if building did not fail. Thanks to this, your deployment can have less downtime due to compiling and running application in separate threads. Also when developing something that is executed on different machine, you can change something on your machine and this program will automatically redeploy your application wherever you need it running.

How does it work

  1. Create toml file containining commands to run on build & deploy
  2. Run program giving that toml file as argument
  3. Now engineer will build all builds dependent on watched files that changed when starting it will build all builds& deployments without dependencies too.
  4. After they are built it will restart deployments dependent on these builds
  5. Deployments are restarted only if build for given deployment succeeded
  6. If build or deployment fails - it shows output of all commands and error from last one and does not build/deploys anything dependent on failed builds
Media (click for bigger view)