Automated software delivery as fast and easy as possible πŸš€
Clone or download

README.md

rocket logo

Rocket

Automated software delivery as fast and easy as possible


GoDoc GitHub release Build Status Docker image

rocket is the D in CI/CD: It allows to easily deliver software to a large range of providers from any CI/CD pipeline.

  1. Installation
  2. Docker image
  3. Available providers
  4. Usage
  5. Documentation
  6. Roadmap

Installation

Using go (nightly)

$ go get -u github.com/bloom42/rocket

Latest

curl -sSf https://raw.githubusercontent.com/bloom42/rocket/master/install.sh | sh

Binary releases

https://github.com/bloom42/rocket/releases/latest

Docker image

bloom42/rocket

Available providers

Provider Status Documentation
AWS Elastic Beanstalk aws_eb βœ” docs
AWS S3 aws_s3 βœ” docs
Custom script script βœ” docs
Docker docker βœ” docs
Google Firebase firebase πŸ• -
Google Cloud Storage gcs πŸ• -
GitHub releases github_releases βœ” docs
Heroku heroku βœ” docs
Netlify netlify 🚧 -
NPM npm πŸ• -
SCP scp πŸ• -
SFTP sftp πŸ• -
SSH ssh πŸ• -
ZEIT Now zeit_now βœ” docs

βœ” = Done 🚧 = in progress πŸ• = planned

Usage

rocket use SAN as configuration format.

Go to your project's root directory then

$ rocket init # create a configuration .rocket.san file with default configuration
# edit the file with the desired configuration
$ cat .rocket.san
description = "This is a configuration file for rocket: Deploy software as fast and easily as possible. See https://github.com/bloom42/rocket"

github_releases = {
  assets = [
    "dist/*.zip",
    "dist/rocket_*_sha512sums.txt"
  ]
}

docker = {
  images = [
    "bloom42/rocket:$VERSION",
    "bloom42/rocket:latest"
  ]
}
$ rocket # to deploy

See https://github.com/bloom42/rocket/blob/master/.rocket.san for an example using both the github_releases and the docker providers.

Help

$ rocket help
Automated software delivery as fast and easy as possible. rocket is the D in CI/CD. See https://github.com/bloom42/rocket

Usage:
  rocket [flags]
  rocket [command]

Available Commands:
  help        Help about any command
  init        Init rocket by creating a .rocket.san configuration file
  version     Display the version and build information

Flags:
  -c, --config string   Use the specified configuration file (and set it's directory as the working directory
  -d, --debug           Display debug information
  -h, --help            help for rocket

Use "rocket [command] --help" for more information about a command.

Documentation

See https://astrocorp.net/rocket

Roadmap

See https://github.com/bloom42/rocket/projects/2