Skip to content

Commit 2406ff9

Browse files
author
Simon Emms
committed
[kots]: create dev channels in KOTS and formalise the release process
1 parent 4a90fc6 commit 2406ff9

File tree

2 files changed

+38
-4
lines changed

2 files changed

+38
-4
lines changed

install/kots/Makefile

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,21 @@ CHANNEL_BETA = Beta
33
CHANNEL_UNSTABLE = Unstable
44
YAML_DIR = manifests
55

6-
all: helm lint create_unstable_release
6+
all: helm lint create_dev_release
7+
8+
create_dev_release:
9+
@if [ "${REPLICATED_DEV_CHANNEL}" = "" ]; then \
10+
echo "Please configure a REPLICATED_DEV_CHANNEL variable"; \
11+
exit 1; \
12+
fi
13+
14+
@if [ "${REPLICATED_DEV_CHANNEL}" = "${CHANNEL_STABLE}" ] || [ "${REPLICATED_DEV_CHANNEL}" = "${CHANNEL_BETA}" ] || [ "${REPLICATED_DEV_CHANNEL}" = "${CHANNEL_UNSTABLE}" ]; then \
15+
echo "${REPLICATED_DEV_CHANNEL} is a reserved channel"; \
16+
exit 1; \
17+
fi
18+
19+
replicated release create --lint --ensure-channel --yaml-dir ${YAML_DIR} --promote ${REPLICATED_DEV_CHANNEL}
20+
.PHONY: create_dev_release
721

822
create_unstable_release:
923
replicated release create --lint --ensure-channel --yaml-dir ${YAML_DIR} --promote ${CHANNEL_UNSTABLE}

install/kots/README.md

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,15 @@ commercially supported project.
2020

2121
# Development
2222

23+
> tl;dr the `make` command will build and push a release to your development channel
24+
2325
## Authentication
2426

25-
Two environment variables are required to be able to publish to our Replicated account:
27+
The following environment variables are required to be able to publish to our Replicated account:
2628

27-
- `REPLICATED_APP`: the unique application slug
29+
- `REPLICATED_APP`: the unique application slug. If in doubt, use `gitpod-pov`.
2830
- `REPLICATED_API_TOKEN`: a [User API Token](https://vendor.replicated.com/account-settings) with `Read/Write` permissions
31+
- `REPLICATED_DEV_CHANNEL`: the channel to push dev releases to. Use the naming convention `dev-<initials>` (eg, `dev-sje`).
2932

3033
## Naming conventions
3134

@@ -42,7 +45,24 @@ and packages them up as a `.tgz` file.
4245

4346
The `.tgz` files should not be committed to the repository.
4447

48+
# Create a development release
49+
50+
A development release can be created by running `make create_dev_release`. This builds and publishes
51+
a new development release to the account. This can then be applied to your development cluster.
52+
53+
Development releases should be used by individual developers when testing and developing a KOTS release.
54+
4555
## Create an unstable release
4656

4757
An unstable release can be created by running `make create_unstable_release`. This builds and publishes
48-
a new unstable release to the account. This can be then applied to your development cluster.
58+
a new unstable release to the account. This can then be applied to your development cluster.
59+
60+
Unstable releases should be used as the first part of creating a stable release.
61+
62+
## Promoting a release to beta and stable
63+
64+
Beta and stable are the channels used to deliver a KOTS application to the general public. A beta release
65+
is considered a release candidate. Once testing has passed, it is promoted to the stable channel.
66+
67+
Promotion of releases from unstable to stable should be done in the management console on the
68+
[Replicated vendor homepage](https://vendor.replicated.com/apps/gitpod).

0 commit comments

Comments
 (0)