- Uses latest Go
- Embedded realtime front-end
- Automatic multi-platform Github releases
- Compile your favourite command-line tools from the browser
Demo
https://gox.jpillora.com/
Install
BinariesSee the latest release
Source
$ go get -v github.com/jpillora/cloud-gox
Deploy
-
Click this button to deploy cloud-gox for free on Heroku
-
Optionally add HTTP authentication
-
Optionally add your Github authentication
Github web-hooks sent from the specified user tocloud-gox
will create a new Github release inside the source repository for specified tag and then each of the compiled binaries will be uploaded as release assets. Once you've setGH_USER
/GH_PASS
orGH_TOKEN
environment variables, you can setup any of your repositories for automatic releases:
- Go to
https://github.com/<username>/<repo>/settings/hooks
- Click the
Add Webhook
button - Set the
Payload URL
tohttp://<cloud-gox-location>/hook
(see optionalparams
below) - Again, click the
Add Webhook
button - Now, pushing git tags will trigger a new release and your app will be cross-compiled and uploaded to Github
/hook?foo=bar
). You can set:
- a
versionvar
parameter to change the ldflags variable (defaults tomain.VERSION
) - a
osarch
parameter which provides a comma separated list of build platforms, each platform must be in the formos/arch
- a
target
parameter which provides a comma separated list of each command-line tool within your package (e.g.target=cmd/foo
will build<repo>/cmd/foo
)
- Go to
Todo
- Run parallel builds
- Verify Github signed web-hooks
Notes
I've forked Heroku's Go buildpack in order to keep the local copy of the Go tools (Heroku's version keeps them only in the build cache).from https://github.com/jpillora/cloud-gox
No comments:
Post a Comment