Skip to content
/ ior Public
forked from vektah/ior

Install On Request - Dead simple docker safe code reloading for golang

License

Notifications You must be signed in to change notification settings

99designs/ior

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ior

ior

usage

go get github.com/vektah/ior

cd $GOPATH/src/github.com/you/yourapp
ior -listen ":1234" -- [args passed through to your app]

What it does

  1. Wait for a request.
  2. Hashes all go files, excluding vendor, and other common large directories
  3. If the hash changes, do a go install, show errors if it fails otherwise restart the server

Thats it. No inotify, no fsevents, no polling, no CPU chewing. 100% docker-machine friendly. 100% nfs friendly.

How long does it take really?

On a project with ~30k lines across ~300 files it adds about 50ms to every request, this is just the time it takes to hash.

Because its using go install rather than go build it also leverages the pkg cache, so small changes are pretty quick to compile.

Related projects

Releases

This uses (GoReleaser](https://goreleaser.com) to build and release go binaries. There is a GitHub Actions workflow configured to run this on any new tags pushed. In order to create a new release, from the master branch:

git tag vx.x.x e.g. v1.0.0
git push --tags

This should trigger the workflow to automatically create a new release. Once it has run, you should see a new release at https://github.com/99designs/ior/releases. Currently GoReleaser is configured to autogenerate a changelog based on commits.

The configuration for GoReleaser is in .goreleaser.yaml. This specifies what operating systems and architectures to build for along with any other customization we want. You can read more about what can be configured here: https://goreleaser.com/customization/

About

Install On Request - Dead simple docker safe code reloading for golang

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 100.0%