convox/docs/reference/primitives/app/release.md
David Dollar 4710e02af8
docs: embed docs app and first pass at documentation (#81)
* stub out docs

* add docs app

* remove unused gcp code for packr

* handle toc ajax

* use SEGMENT_TOKEN for segment

* remove manual install directory

* docs first pass

* remove loggin docs for now

* remove webhooks docs for now

* tweak docs list to first pass intentions

* fix header links and add gen2
2020-01-31 14:10:34 -05:00

3.2 KiB

Release

A Release is the unit of deployment consisting of a Build and a set of environment variables.

A Release is created every time you create a new Build or change the App's environment.

Command Line Interface

Creating a Release

On Build Creation

$ convox build -a myapp
Packaging source... OK
Uploading source... OK
Starting build... OK
...
Build: BABCDEFGHI
Release: RBCDEFGHIJ

On Environment Change

$ convox env set FOO=bar -a myapp
Setting FOO... OK
Release: RCDEFGHIJK

Listing Releases

$ convox releases -a myapp
ID          STATUS  BUILD       CREATED        DESCRIPTION
RCDEFGHIJK          BABCDEFGHI  1 minute ago   env add:FOO
RBCDEFGHIJ  active  BABCDEFGHI  5 minutes ago  build 0a1b2c3d4e5f my commit message

Getting Information about a Release

$ convox releases info RCDEFGHIJK -a myapp
Id           RCDEFGHIJK
Build        BABCDEFGHI
Created      2019-01-01:00:00:00Z
Description  env add:FOO
Env          FOO=bar

Promoting a Release

$ convox releases promote RCDEFGHIJK -a myapp
Promoting RCDEFGHIJK... OK
2019-01-01T00:00:49Z system/k8s/atom/app Status: Running => Pending
2019-01-01T00:00:51Z system/k8s/web Scaled up replica set web-745f845dc to 1
2019-01-01T00:00:51Z system/k8s/web-745f845dc Created pod: web-745f845dc-rzl2q
2019-01-01T00:00:51Z system/k8s/web-745f845dc-rzl2q Successfully assigned convox-myapp/web-745f845dc-rzl2q to instance-0a1b2c3d4e5f
2019-01-01T00:00:51Z system/k8s/web-745f845dc-rzl2q Pulling image "registry.host/convox/myapp:web.BABCDEFGHI"
2019-01-01T00:00:53Z system/k8s/atom/app Status: Pending => Updating
2019-01-01T00:00:55Z system/k8s/web-745f845dc-rzl2q Successfully pulled image "registry.host/convox/myapp:web.BABCDEFGHI"
2019-01-01T00:00:56Z system/k8s/web-745f845dc-rzl2q Created container main
2019-01-01T00:00:56Z system/k8s/web-745f845dc-rzl2q Started container main
OK

Getting the Manifest for a Release

$ convox releases manifest RCDEFGHIJK -a myapp
services:
  web:
    build: .
    command: bin/web
    port: 5000

Rolling Back to a Previous Release

$ convox releases rollback RBCDEFGHIJ -a myapp
Rolling back to RBCDEFGHIJ... OK, RDEFGHIJKL
2019-01-01T00:00:49Z system/k8s/atom/app Status: Running => Pending
2019-01-01T00:00:51Z system/k8s/web Scaled up replica set web-32f41a279 to 1
2019-01-01T00:00:51Z system/k8s/web-32f41a279 Created pod: web-32f41a279-rzl2q
2019-01-01T00:00:51Z system/k8s/web-32f41a279-rzl2q Successfully assigned convox-myapp/web-32f41a279-rzl2q to instance-0a1b2c3d4e5f
2019-01-01T00:00:51Z system/k8s/web-32f41a279-rzl2q Pulling image "registry.host/convox/myapp:web.BABCDEFGHI"
2019-01-01T00:00:53Z system/k8s/atom/app Status: Pending => Updating
2019-01-01T00:00:55Z system/k8s/web-32f41a279-rzl2q Successfully pulled image "registry.host/convox/myapp:web.BABCDEFGHI"
2019-01-01T00:00:56Z system/k8s/web-32f41a279-rzl2q Created container main
2019-01-01T00:00:56Z system/k8s/web-745f845dc-rzl2q Started container main
OK

Rolling back to a previous Release makes a copy of the old Release and promotes the new Release.