https://github.com/phase2/rig
Outrigger command line tool
https://github.com/phase2/rig
cli docker docker-machine linux osx outrigger
Last synced: 9 months ago
JSON representation
Outrigger command line tool
- Host: GitHub
- URL: https://github.com/phase2/rig
- Owner: phase2
- License: mit
- Created: 2017-02-14T20:15:41.000Z (almost 9 years ago)
- Default Branch: develop
- Last Pushed: 2018-12-12T22:45:33.000Z (about 7 years ago)
- Last Synced: 2025-04-08T16:05:26.055Z (10 months ago)
- Topics: cli, docker, docker-machine, linux, osx, outrigger
- Language: Go
- Size: 359 KB
- Stars: 11
- Watchers: 6
- Forks: 8
- Open Issues: 33
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Rig - Outrigger CLI [](https://travis-ci.org/phase2/rig)
> A CLI for managing the Outrigger's container-driven development stack.
See the [documentation for more details](http://docs.outrigger.sh).
See the [CONTRIBUTING.md](./CONTRIBUTING.md) for developer documentation.
## Built on Dependencies
We make use of a few key libraries to do all the fancy stuff that the `rig` CLI will do.
* https://github.com/urfave/cli
* The entire CLI framework from helps text to flags.
This was an easy cli to build b/c of this library.
* https://github.com/fatih/color
* All the fancy terminal color output
* https://github.com/bitly/go-simplejson
* The JSON parse and access library used primarily with the output
of `docker-machine inspect`
* https://gopkg.in/yaml.v2
* The YAML library for parsing/reading YAML files
* https://github.com/martinlindhe/notify
* Cross-platform desktop notifications
## Release Instructions
We use [GoReleaser](https://goreleaser.com) to handle nearly all of our release concerns. GoReleaser will handle
* Building for all target platforms
* Creating a GitHub release on our project page based on tag
* Creating archive files for each target platform and attach it to the GitHub release
* Creating .deb and .rpm packages for linux installations and attaching those to the GitHub release
* Updating the Homebrew formula and publish it
### To create a new release of rig:
* Get all the code committed to `master`
* Tag master with the new version number `git tag 2.1.0 && git push --tags`
* Run `docker-compose run --rm goreleaser`
* ...
* Profit!
### To create a new release candidate (RC) of rig:
If we want to roll out an RC to GitHub for folks to test, we simply need to run with a different GoReleaser
configuration that does not publish to homebrew, just to a GitHub release that is marked pre-production.
* Get all the code committed to `develop`
* Tag develop with the new version number `git tag 2.1.0-rc1 && git push --tags`
* Run `docker-compose run --rm goreleaser --config .goreleaser.rc.yml`
* ...
* Profit!