A Release is the atomic 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.
Promoting a Release will begin a rolling deployment that will continue until the new Release is active on all Processes or has been completely rolled back.
$ convox build -a myapp
Packaging source... OK
Uploading source... OK
Starting build... OK
...
Build: BABCDEFGHI
Release: RBCDEFGHIJ
$ convox env set FOO=bar -a myapp
Setting FOO... OK
Release: RCDEFGHIJK
$ 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
$ convox releases info RCDEFGHIJK -a myapp
Id RCDEFGHIJK
Build BABCDEFGHI
Created 2019-01-01:00:00:00Z
Description env add:FOO
Env FOO=bar
$ convox releases promote RCDEFGHIJK -a myapp
Promoting RCDEFGHIJK...
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
$ convox releases manifest RCDEFGHIJK -a myapp
services:
web:
build: .
command: bin/web
port: 5000
$ 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 that Release and promotes the copy.